Skip to content
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

Look into how strictly get* properties must match GET headers #26

Open
jwodder opened this issue Jan 29, 2024 · 0 comments
Open

Look into how strictly get* properties must match GET headers #26

jwodder opened this issue Jan 29, 2024 · 0 comments
Assignees
Labels
correctness Getting it right high priority Work on these first needs research More information is required WebDAV Specific to the WebDAV protocol/implementation

Comments

@jwodder
Copy link
Member

jwodder commented Jan 29, 2024

RFC 4918 implies that the get* properties (i.e., getcontentlanguage, getcontentlength, getcontenttype, getetag, and getlastmodified) are meant to correpond to GET response headers. Does this mean that the properties' values must match what would be returned by a GET request to the corresponding resource? If so, dandidav's current behavior violates this in the following ways:

  • dandidav sets the getcontenttype of blob assets to their encodingFormat metadata field, yet GETing a blob's download URL results in a response from S3 with a Content-Type of binary/octet-stream (or text/plain for some of the JSON metadata files).

  • dandidav sets the getlastmodified of blob assets to the assets' modified properties, yet GETing a blob results in an S3 response that seems to use the blobDateModified date as "Last-Modified". (cf. Use blobDateModified metadata instead of modified property for blob assets' "modified" timestamps #17)

  • dandidav sets the getcontentlength of Dandiset versions to the total size of all assets in the version, but GETing a version via the WebDAV server will result in an HTML page listing its top-level contents, which usually won't be of the same size.

    • What exactly should the getcontentlength for collections be set to? Moreover, what about getcontenttype for collections?
@jwodder jwodder added correctness Getting it right needs research More information is required WebDAV Specific to the WebDAV protocol/implementation labels Jan 29, 2024
@jwodder jwodder added this to the Current priorities milestone Feb 17, 2024
@jwodder jwodder self-assigned this Jul 11, 2024
@jwodder jwodder added the high priority Work on these first label Jul 22, 2024
@jwodder jwodder removed this from the Current priorities milestone Jul 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
correctness Getting it right high priority Work on these first needs research More information is required WebDAV Specific to the WebDAV protocol/implementation
Projects
None yet
Development

No branches or pull requests

1 participant