Orion/Server API/Transfer API
Under Construction: This API is not yet implemented
The transfer API is used for batch import and export of directory trees to/from an Orion workspace.
Starting a file upload
- An upload is initiated via a POST request. The request URL indicates where the file should be located once the upload is complete.
- HTTP Method
- Example Request
- Example Response
HTTP/1.1 200 OK Location: /xfer/import/23A43
- Detailed Explanation
- The Location header in the response indicates the URL where chunks of the file should be uploaded. Once the server has received all chunks, the import into the workspace is completed. An upload that is not completed in a timely fashion from the initial POST is discarded by the server.
- POST request, returns a URI for resumable upload (uploading in chunks will allow for progress reporting). Request indicates whether we are uploading a file that should be stored directly in the workspace, or whether it is an archive that will need to be extracted into the workspace on the server.
- POST Response Location indicates upload URL
- Series of PUT requests to upload URL, using Content-Range header
- Responses indicate what total range server already knows
- Once server has all the bytes the file is stored or extracted into the workspace
- GET request /xfer/export/<filename.zip>
- Request body contains:
- Array of files/directories to export - depth infinity is assumed, children should be listed independently if depth infinity is not desired
- Content type of response (zip, tar, etc)