Fix WebDAV uploads on non-standard ports (#112) - #115
Merged
Conversation
buildAuthSardine() enabled preemptive basic authentication with the hostname-only Sardine overload, which assumes the standard ports 80/443. On a server reachable on a non-standard port the preemptive credentials were therefore not sent, the server responded with an auth challenge, and non-repeatable requests such as a streamed file upload (PUT) failed with "Cannot retry request with a non-repeatable request entity". Use the port-aware enablePreemptiveAuthentication(host, httpPort, httpsPort) overload with the configured port so uploads work regardless of the port (e.g. behind a reverse proxy, or the containerized server used by the integration tests). Read-only/repeatable WebDAV operations were unaffected because they can be retried after the challenge, which is why folder tests passed while file upload/download/rename/remove failed. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
# Conflicts: # Changelog.md
This was referenced Jul 24, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Apply preemptive auth on the configured port for WebDAV (issue #112)
buildAuthSardine() enabled preemptive basic authentication with the
hostname-only Sardine overload, which assumes the standard ports 80/443.
On a server reachable on a non-standard port the preemptive credentials
were therefore not sent, the server responded with an auth challenge, and
non-repeatable requests such as a streamed file upload (PUT) failed with
"Cannot retry request with a non-repeatable request entity".
Use the port-aware enablePreemptiveAuthentication(host, httpPort,
httpsPort) overload with the configured port so uploads work regardless
of the port (e.g. behind a reverse proxy, or the containerized server used
by the integration tests).
Read-only/repeatable WebDAV operations were unaffected because they can be
retried after the challenge, which is why folder tests passed while file
upload/download/rename/remove failed.
Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com