OAPI: use GET instead of OPTIONS to get file info from Shaman

OPTIONS is used by browser for CORS pre-flight requests.
This commit is contained in:
Sybren A. Stüvel 2022-04-01 15:52:17 +02:00
parent 979792d17f
commit 80ffc7da5d
10 changed files with 101 additions and 101 deletions

View File

@ -10,7 +10,7 @@
""" """
__version__ = "7214a73e-dirty" __version__ = "979792d1-dirty"
# import ApiClient # import ApiClient
from flamenco.manager.api_client import ApiClient from flamenco.manager.api_client import ApiClient

View File

@ -218,7 +218,7 @@ class ShamanApi(object):
'auth': [], 'auth': [],
'endpoint_path': '/shaman/files/{checksum}/{filesize}', 'endpoint_path': '/shaman/files/{checksum}/{filesize}',
'operation_id': 'shaman_file_store_check', 'operation_id': 'shaman_file_store_check',
'http_method': 'OPTIONS', 'http_method': 'GET',
'servers': None, 'servers': None,
}, },
params_map={ params_map={

View File

@ -76,7 +76,7 @@ class ApiClient(object):
self.default_headers[header_name] = header_value self.default_headers[header_name] = header_value
self.cookie = cookie self.cookie = cookie
# Set default User-Agent. # Set default User-Agent.
self.user_agent = 'Flamenco/7214a73e-dirty (Blender add-on)' self.user_agent = 'Flamenco/979792d1-dirty (Blender add-on)'
def __enter__(self): def __enter__(self):
return self return self

View File

@ -404,7 +404,7 @@ conf = flamenco.manager.Configuration(
"OS: {env}\n"\ "OS: {env}\n"\
"Python Version: {pyversion}\n"\ "Python Version: {pyversion}\n"\
"Version of the API: 1.0.0\n"\ "Version of the API: 1.0.0\n"\
"SDK Package Version: 7214a73e-dirty".\ "SDK Package Version: 979792d1-dirty".\
format(env=sys.platform, pyversion=sys.version) format(env=sys.platform, pyversion=sys.version)
def get_host_settings(self): def get_host_settings(self):

View File

@ -7,7 +7,7 @@ Method | HTTP request | Description
[**shaman_checkout**](ShamanApi.md#shaman_checkout) | **POST** /shaman/checkout/create | Create a directory, and symlink the required files into it. The files must all have been uploaded to Shaman before calling this endpoint. [**shaman_checkout**](ShamanApi.md#shaman_checkout) | **POST** /shaman/checkout/create | Create a directory, and symlink the required files into it. The files must all have been uploaded to Shaman before calling this endpoint.
[**shaman_checkout_requirements**](ShamanApi.md#shaman_checkout_requirements) | **POST** /shaman/checkout/requirements | Checks a Shaman Requirements file, and reports which files are unknown. [**shaman_checkout_requirements**](ShamanApi.md#shaman_checkout_requirements) | **POST** /shaman/checkout/requirements | Checks a Shaman Requirements file, and reports which files are unknown.
[**shaman_file_store**](ShamanApi.md#shaman_file_store) | **POST** /shaman/files/{checksum}/{filesize} | Store a new file on the Shaman server. Note that the Shaman server can forcibly close the HTTP connection when another client finishes uploading the exact same file, to prevent double uploads. The file's contents should be sent in the request body. [**shaman_file_store**](ShamanApi.md#shaman_file_store) | **POST** /shaman/files/{checksum}/{filesize} | Store a new file on the Shaman server. Note that the Shaman server can forcibly close the HTTP connection when another client finishes uploading the exact same file, to prevent double uploads. The file's contents should be sent in the request body.
[**shaman_file_store_check**](ShamanApi.md#shaman_file_store_check) | **OPTIONS** /shaman/files/{checksum}/{filesize} | Check the status of a file on the Shaman server. [**shaman_file_store_check**](ShamanApi.md#shaman_file_store_check) | **GET** /shaman/files/{checksum}/{filesize} | Check the status of a file on the Shaman server.
# **shaman_checkout** # **shaman_checkout**

View File

@ -4,7 +4,7 @@ Render Farm manager API
The `flamenco.manager` package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: The `flamenco.manager` package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
- API version: 1.0.0 - API version: 1.0.0
- Package version: 7214a73e-dirty - Package version: 979792d1-dirty
- Build package: org.openapitools.codegen.languages.PythonClientCodegen - Build package: org.openapitools.codegen.languages.PythonClientCodegen
For more information, please visit [https://flamenco.io/](https://flamenco.io/) For more information, please visit [https://flamenco.io/](https://flamenco.io/)
@ -72,7 +72,7 @@ Class | Method | HTTP request | Description
*ShamanApi* | [**shaman_checkout**](flamenco/manager/docs/ShamanApi.md#shaman_checkout) | **POST** /shaman/checkout/create | Create a directory, and symlink the required files into it. The files must all have been uploaded to Shaman before calling this endpoint. *ShamanApi* | [**shaman_checkout**](flamenco/manager/docs/ShamanApi.md#shaman_checkout) | **POST** /shaman/checkout/create | Create a directory, and symlink the required files into it. The files must all have been uploaded to Shaman before calling this endpoint.
*ShamanApi* | [**shaman_checkout_requirements**](flamenco/manager/docs/ShamanApi.md#shaman_checkout_requirements) | **POST** /shaman/checkout/requirements | Checks a Shaman Requirements file, and reports which files are unknown. *ShamanApi* | [**shaman_checkout_requirements**](flamenco/manager/docs/ShamanApi.md#shaman_checkout_requirements) | **POST** /shaman/checkout/requirements | Checks a Shaman Requirements file, and reports which files are unknown.
*ShamanApi* | [**shaman_file_store**](flamenco/manager/docs/ShamanApi.md#shaman_file_store) | **POST** /shaman/files/{checksum}/{filesize} | Store a new file on the Shaman server. Note that the Shaman server can forcibly close the HTTP connection when another client finishes uploading the exact same file, to prevent double uploads. The file's contents should be sent in the request body. *ShamanApi* | [**shaman_file_store**](flamenco/manager/docs/ShamanApi.md#shaman_file_store) | **POST** /shaman/files/{checksum}/{filesize} | Store a new file on the Shaman server. Note that the Shaman server can forcibly close the HTTP connection when another client finishes uploading the exact same file, to prevent double uploads. The file's contents should be sent in the request body.
*ShamanApi* | [**shaman_file_store_check**](flamenco/manager/docs/ShamanApi.md#shaman_file_store_check) | **OPTIONS** /shaman/files/{checksum}/{filesize} | Check the status of a file on the Shaman server. *ShamanApi* | [**shaman_file_store_check**](flamenco/manager/docs/ShamanApi.md#shaman_file_store_check) | **GET** /shaman/files/{checksum}/{filesize} | Check the status of a file on the Shaman server.
*WorkerApi* | [**register_worker**](flamenco/manager/docs/WorkerApi.md#register_worker) | **POST** /api/worker/register-worker | Register a new worker *WorkerApi* | [**register_worker**](flamenco/manager/docs/WorkerApi.md#register_worker) | **POST** /api/worker/register-worker | Register a new worker
*WorkerApi* | [**schedule_task**](flamenco/manager/docs/WorkerApi.md#schedule_task) | **POST** /api/worker/task | Obtain a new task to execute *WorkerApi* | [**schedule_task**](flamenco/manager/docs/WorkerApi.md#schedule_task) | **POST** /api/worker/task | Obtain a new task to execute
*WorkerApi* | [**sign_off**](flamenco/manager/docs/WorkerApi.md#sign_off) | **POST** /api/worker/sign-off | Mark the worker as offline *WorkerApi* | [**sign_off**](flamenco/manager/docs/WorkerApi.md#sign_off) | **POST** /api/worker/sign-off | Mark the worker as offline

View File

@ -340,7 +340,7 @@ paths:
/shaman/files/{checksum}/{filesize}: /shaman/files/{checksum}/{filesize}:
summary: Upload files to the Shaman server. summary: Upload files to the Shaman server.
options: get:
operationId: shamanFileStoreCheck operationId: shamanFileStoreCheck
summary: > summary: >
Check the status of a file on the Shaman server. Check the status of a file on the Shaman server.

View File

@ -945,7 +945,7 @@ func NewShamanFileStoreCheckRequest(server string, checksum string, filesize int
return nil, err return nil, err
} }
req, err := http.NewRequest("OPTIONS", queryURL.String(), nil) req, err := http.NewRequest("GET", queryURL.String(), nil)
if err != nil { if err != nil {
return nil, err return nil, err
} }

View File

@ -56,7 +56,7 @@ type ServerInterface interface {
// (POST /shaman/checkout/requirements) // (POST /shaman/checkout/requirements)
ShamanCheckoutRequirements(ctx echo.Context) error ShamanCheckoutRequirements(ctx echo.Context) error
// Check the status of a file on the Shaman server. // Check the status of a file on the Shaman server.
// (OPTIONS /shaman/files/{checksum}/{filesize}) // (GET /shaman/files/{checksum}/{filesize})
ShamanFileStoreCheck(ctx echo.Context, checksum string, filesize int) error ShamanFileStoreCheck(ctx echo.Context, checksum string, filesize int) error
// Store a new file on the Shaman server. Note that the Shaman server can forcibly close the HTTP connection when another client finishes uploading the exact same file, to prevent double uploads. // Store a new file on the Shaman server. Note that the Shaman server can forcibly close the HTTP connection when another client finishes uploading the exact same file, to prevent double uploads.
// The file's contents should be sent in the request body. // The file's contents should be sent in the request body.
@ -346,7 +346,7 @@ func RegisterHandlersWithBaseURL(router EchoRouter, si ServerInterface, baseURL
router.POST(baseURL+"/api/worker/task/:task_id", wrapper.TaskUpdate) router.POST(baseURL+"/api/worker/task/:task_id", wrapper.TaskUpdate)
router.POST(baseURL+"/shaman/checkout/create", wrapper.ShamanCheckout) router.POST(baseURL+"/shaman/checkout/create", wrapper.ShamanCheckout)
router.POST(baseURL+"/shaman/checkout/requirements", wrapper.ShamanCheckoutRequirements) router.POST(baseURL+"/shaman/checkout/requirements", wrapper.ShamanCheckoutRequirements)
router.OPTIONS(baseURL+"/shaman/files/:checksum/:filesize", wrapper.ShamanFileStoreCheck) router.GET(baseURL+"/shaman/files/:checksum/:filesize", wrapper.ShamanFileStoreCheck)
router.POST(baseURL+"/shaman/files/:checksum/:filesize", wrapper.ShamanFileStore) router.POST(baseURL+"/shaman/files/:checksum/:filesize", wrapper.ShamanFileStore)
} }

View File

@ -18,96 +18,96 @@ import (
// Base64 encoded, gzipped, json marshaled Swagger object // Base64 encoded, gzipped, json marshaled Swagger object
var swaggerSpec = []string{ var swaggerSpec = []string{
"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",
"oKBTvVkAAA==", "WQAA",
} }
// GetSwagger returns the content of the embedded swagger specification file // GetSwagger returns the content of the embedded swagger specification file