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

Better binary artifacts WebDAV compliance #571

Merged
merged 4 commits into from
Jun 27, 2024

Conversation

jkloetzke
Copy link
Member

Do not assume that parent directories are created implicitly.

Quoting RFC 4918:

  A PUT that would result in the creation of a resource without an
  appropriately scoped parent collection MUST fail with a 409
  (Conflict).

So far, Bob incorrectly assumed that the parent directories are created
automatically (e.g. on Nginx via "create_full_put_path on"). Instead of
assuming such non-compliant behavior, always do an MKCOL request for
the parent directory first. Even though this implies a full server
round trip, its overhead should pale in comparison of pushing a big
file to the server only to get an HTTP 409 at the end.
WebDAV requires that parent directories are not created implicitly.
Instead, a 409 status code shall be returned to indicate that the
parent collection is missing.
The code does not support FTP uploads. Instead of failing badly, issue
a proper error message.
@jkloetzke jkloetzke merged commit c5e7e0e into BobBuildTool:master Jun 27, 2024
9 checks passed
@jkloetzke jkloetzke deleted the archive-webdav-compliance branch June 27, 2024 19:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant