mirror of
https://github.com/rclone/rclone
synced 2024-11-21 22:50:16 +01:00
build: more pre go1.8 workarounds removed
This commit is contained in:
parent
b9e16b36e5
commit
8beab1aaf2
@ -32,7 +32,6 @@ import (
|
|||||||
"github.com/ncw/rclone/lib/dircache"
|
"github.com/ncw/rclone/lib/dircache"
|
||||||
"github.com/ncw/rclone/lib/oauthutil"
|
"github.com/ncw/rclone/lib/oauthutil"
|
||||||
"github.com/ncw/rclone/lib/pacer"
|
"github.com/ncw/rclone/lib/pacer"
|
||||||
"github.com/ncw/rclone/lib/rest"
|
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
"golang.org/x/oauth2"
|
"golang.org/x/oauth2"
|
||||||
)
|
)
|
||||||
@ -1093,7 +1092,7 @@ func (o *Object) Open(options ...fs.OpenOption) (in io.ReadCloser, err error) {
|
|||||||
if !bigObject {
|
if !bigObject {
|
||||||
in, resp, err = file.OpenHeaders(headers)
|
in, resp, err = file.OpenHeaders(headers)
|
||||||
} else {
|
} else {
|
||||||
in, resp, err = file.OpenTempURLHeaders(rest.ClientWithHeaderReset(o.fs.noAuthClient, headers), headers)
|
in, resp, err = file.OpenTempURLHeaders(o.fs.noAuthClient, headers)
|
||||||
}
|
}
|
||||||
return o.fs.shouldRetry(resp, err)
|
return o.fs.shouldRetry(resp, err)
|
||||||
})
|
})
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
package mount
|
package mount
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"context"
|
||||||
"os"
|
"os"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
@ -12,7 +13,6 @@ import (
|
|||||||
"github.com/ncw/rclone/fs/log"
|
"github.com/ncw/rclone/fs/log"
|
||||||
"github.com/ncw/rclone/vfs"
|
"github.com/ncw/rclone/vfs"
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
"golang.org/x/net/context" // switch to "context" when we stop supporting go1.8
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// Dir represents a directory entry
|
// Dir represents a directory entry
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
package mount
|
package mount
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"context"
|
||||||
"io"
|
"io"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
@ -11,7 +12,6 @@ import (
|
|||||||
"github.com/ncw/rclone/cmd/mountlib"
|
"github.com/ncw/rclone/cmd/mountlib"
|
||||||
"github.com/ncw/rclone/fs/log"
|
"github.com/ncw/rclone/fs/log"
|
||||||
"github.com/ncw/rclone/vfs"
|
"github.com/ncw/rclone/vfs"
|
||||||
"golang.org/x/net/context" // switch to "context" when we stop supporting go1.8
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// File represents a file
|
// File represents a file
|
||||||
|
@ -5,6 +5,7 @@
|
|||||||
package mount
|
package mount
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"context"
|
||||||
"syscall"
|
"syscall"
|
||||||
|
|
||||||
"bazil.org/fuse"
|
"bazil.org/fuse"
|
||||||
@ -15,7 +16,6 @@ import (
|
|||||||
"github.com/ncw/rclone/vfs"
|
"github.com/ncw/rclone/vfs"
|
||||||
"github.com/ncw/rclone/vfs/vfsflags"
|
"github.com/ncw/rclone/vfs/vfsflags"
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
"golang.org/x/net/context" // switch to "context" when we stop supporting go1.8
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// FS represents the top level filing system
|
// FS represents the top level filing system
|
||||||
|
@ -3,13 +3,13 @@
|
|||||||
package mount
|
package mount
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"context"
|
||||||
"io"
|
"io"
|
||||||
|
|
||||||
"bazil.org/fuse"
|
"bazil.org/fuse"
|
||||||
fusefs "bazil.org/fuse/fs"
|
fusefs "bazil.org/fuse/fs"
|
||||||
"github.com/ncw/rclone/fs/log"
|
"github.com/ncw/rclone/fs/log"
|
||||||
"github.com/ncw/rclone/vfs"
|
"github.com/ncw/rclone/vfs"
|
||||||
"golang.org/x/net/context" // switch to "context" when we stop supporting go1.8
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// FileHandle is an open for read file handle on a File
|
// FileHandle is an open for read file handle on a File
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
package webdav
|
package webdav
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"context"
|
||||||
"net/http"
|
"net/http"
|
||||||
"os"
|
"os"
|
||||||
|
|
||||||
@ -15,7 +16,6 @@ import (
|
|||||||
"github.com/ncw/rclone/vfs"
|
"github.com/ncw/rclone/vfs"
|
||||||
"github.com/ncw/rclone/vfs/vfsflags"
|
"github.com/ncw/rclone/vfs/vfsflags"
|
||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
"golang.org/x/net/context" // switch to "context" when we stop supporting go1.8
|
|
||||||
"golang.org/x/net/webdav"
|
"golang.org/x/net/webdav"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -253,7 +253,7 @@ func (api *Client) Call(opts *Opts) (resp *http.Response, err error) {
|
|||||||
if opts.NoRedirect {
|
if opts.NoRedirect {
|
||||||
c = ClientWithNoRedirects(api.c)
|
c = ClientWithNoRedirects(api.c)
|
||||||
} else {
|
} else {
|
||||||
c = ClientWithHeaderReset(api.c, headers)
|
c = api.c
|
||||||
}
|
}
|
||||||
if api.signer != nil {
|
if api.signer != nil {
|
||||||
err = api.signer(req)
|
err = api.signer(req)
|
||||||
|
@ -1,15 +0,0 @@
|
|||||||
//+build go1.8
|
|
||||||
|
|
||||||
package rest
|
|
||||||
|
|
||||||
import (
|
|
||||||
"net/http"
|
|
||||||
)
|
|
||||||
|
|
||||||
// ClientWithHeaderReset makes a new http client which resets the
|
|
||||||
// headers passed in on redirect
|
|
||||||
//
|
|
||||||
// This is now unnecessary with go1.8 so becomes a no-op
|
|
||||||
func ClientWithHeaderReset(c *http.Client, headers map[string]string) *http.Client {
|
|
||||||
return c
|
|
||||||
}
|
|
@ -1,33 +0,0 @@
|
|||||||
//+build !go1.8
|
|
||||||
|
|
||||||
package rest
|
|
||||||
|
|
||||||
import (
|
|
||||||
"net/http"
|
|
||||||
|
|
||||||
"github.com/pkg/errors"
|
|
||||||
)
|
|
||||||
|
|
||||||
// ClientWithHeaderReset makes a new http client which resets the
|
|
||||||
// headers passed in on redirect
|
|
||||||
//
|
|
||||||
// This is only needed for go < go1.8
|
|
||||||
func ClientWithHeaderReset(c *http.Client, headers map[string]string) *http.Client {
|
|
||||||
if len(headers) == 0 {
|
|
||||||
return c
|
|
||||||
}
|
|
||||||
clientCopy := *c
|
|
||||||
clientCopy.CheckRedirect = func(req *http.Request, via []*http.Request) error {
|
|
||||||
if len(via) >= 10 {
|
|
||||||
return errors.New("stopped after 10 redirects")
|
|
||||||
}
|
|
||||||
// Reset the headers in the new request
|
|
||||||
for k, v := range headers {
|
|
||||||
if v != "" {
|
|
||||||
req.Header.Set(k, v)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
return &clientCopy
|
|
||||||
}
|
|
@ -1,5 +1,3 @@
|
|||||||
// +build go1.8
|
|
||||||
|
|
||||||
package rest
|
package rest
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
Loading…
Reference in New Issue
Block a user