-
Notifications
You must be signed in to change notification settings - Fork 101
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Failure Modes #104
Comments
You are correct in that both of these cases are currently not covered in the specification.
As a good starting point you should always avoid having two or more clients uploading to the same upload to avoid conflicts. If you are concerned that this may be an issue for you, the server should implement a locking mechanism to prevent further PATCH requests from modifying the resource. The tusd server has such a feature embedded. |
@Acconut: Added another one. |
Already defined:
There's a more general discussion in #79 which proposes stricter rules on how to react when invalid headers are presented. We probably should add a section about this. Also, @ronag, please do not edit your original list but add a new comment. This will make it easier to follow. |
The spec only defines |
What if |
Yes, I think it is safe to consider these cases to be equal. |
@Acconut: For 1. Would it be appropriate to update the size to match the new one or should it be a 4xx error? |
Once the upload length has been set, it must never be modified. If you want to append data, you can use the Concatenation extension. |
How to handle an unused HTTP method doesn’t seem to covered by the spec - a 405 response seems sane. Would there be value in distinguishing between methods unused in the spec and those not used because the prerequisite extension is not active? (Eg, DELETE is unused if the terminate extension is not enabled). One use case for this could be when a extension is no longer used by a server as it would allow the client to differentiate between a client bug and a need to check the servers current extensions. |
Yes, a 405 response would be the correct response here. However, I don't think we need to add this to the tus specification as this is already covered in the HTTP specification (as far as I know). Since tus builds upon HTTP, the HTTP spec applies for tus server and clients as well. What do you think? |
PATCH
withoutcontent-length
which writes more or less data thanupload-offset + upload-length
?PATCH
to same resource with matchingupload-offset
?rus-resumable
header in request?content-type
header in request?content-length
header in request?defer-upload-length
header in request?upload-length
header in request?Will add more to the list...
The text was updated successfully, but these errors were encountered: