Просмотр исходного кода

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 <[email protected]>
Percy Wegmann 1 год назад
Родитель
Сommit
d16c1293e9
1 измененных файлов с 5 добавлено и 4 удалено
  1. 5 4
      ipn/ipnlocal/local.go

+ 5 - 4
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 {