From d16c1293e907219e90597ea28c3cce30536c3a02 Mon Sep 17 00:00:00 2001 From: Percy Wegmann Date: Tue, 16 Apr 2024 10:13:30 -0500 Subject: [PATCH] ipn/ipnlocal: remove origin and referer headers from Taildrive requests peerapi does not want these, but rclone includes them. Removing them allows rclone to work with Taildrive configured as a WebDAV remote. Updates #cleanup Signed-off-by: Percy Wegmann --- ipn/ipnlocal/local.go | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/ipn/ipnlocal/local.go b/ipn/ipnlocal/local.go index 909a4ac48..d783fa72f 100644 --- a/ipn/ipnlocal/local.go +++ b/ipn/ipnlocal/local.go @@ -4827,16 +4827,17 @@ func (rbw *responseBodyWrapper) Close() error { } func (dt *driveTransport) RoundTrip(req *http.Request) (resp *http.Response, err error) { + // Some WebDAV clients include origin and refer headers, which peerapi does + // not like. Remove them. + req.Header.Del("origin") + req.Header.Del("referer") + bw := &requestBodyWrapper{} if req.Body != nil { bw.ReadCloser = req.Body req.Body = bw } - // Strip origin and referer headers - req.Header.Del("origin") - req.Header.Del("referer") - defer func() { contentType := "unknown" switch req.Method {