mirror of
https://github.com/rclone/rclone.git
synced 2025-12-27 05:33:17 +00:00
vendor: update all dependencies to latest versions
This commit is contained in:
85
vendor/github.com/ncw/go-acd/changes.go
generated
vendored
Normal file
85
vendor/github.com/ncw/go-acd/changes.go
generated
vendored
Normal file
@@ -0,0 +1,85 @@
|
||||
package acd
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"io"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
// ChangesService provides access to incemental changes in the Amazon Cloud Drive API.
|
||||
//
|
||||
// See: https://developer.amazon.com/public/apis/experience/cloud-drive/content/changes
|
||||
type ChangesService struct {
|
||||
client *Client
|
||||
}
|
||||
|
||||
// A ChangeSet is collection of node changes as received from the Changes API
|
||||
type ChangeSet struct {
|
||||
Checkpoint string `json:"checkpoint"`
|
||||
Nodes []*Node `json:"nodes"`
|
||||
Reset bool `json:"reset"`
|
||||
StatusCode int `json:"statusCode"`
|
||||
End bool `json:"end"`
|
||||
}
|
||||
|
||||
// ChangesOptions contains all possible arguments for the Changes API
|
||||
type ChangesOptions struct {
|
||||
Checkpoint string `json:"checkpoint,omitempty"`
|
||||
ChunkSize int `json:"chunkSize,omitempty"`
|
||||
MaxNodes int `json:"maxNodes,omitempty"`
|
||||
IncludePurged bool `json:"includePurged,omitempty,string"`
|
||||
}
|
||||
|
||||
// GetChanges returns all the changes since opts.Checkpoint
|
||||
func (s *ChangesService) GetChanges(opts *ChangesOptions) ([]*ChangeSet, *http.Response, error) {
|
||||
var changeSets []*ChangeSet
|
||||
resp, err := s.GetChangesFunc(opts, func(cs *ChangeSet, err error) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
changeSets = append(changeSets, cs)
|
||||
return nil
|
||||
})
|
||||
return changeSets, resp, err
|
||||
}
|
||||
|
||||
// GetChangesChan gets all the changes since opts.Checkpoint sending each ChangeSet to the channel.
|
||||
// The provided channel is closed before returning
|
||||
func (s *ChangesService) GetChangesChan(opts *ChangesOptions, ch chan<- *ChangeSet) (*http.Response, error) {
|
||||
defer close(ch)
|
||||
|
||||
return s.GetChangesFunc(opts, func(cs *ChangeSet, err error) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
ch <- cs
|
||||
return nil
|
||||
})
|
||||
}
|
||||
|
||||
// GetChangesFunc gets all the changes since opts.Checkpoint and calls f with the ChangeSet or the error received.
|
||||
// If f returns a non nil value, GetChangesFunc exits and returns the given error.
|
||||
func (s *ChangesService) GetChangesFunc(opts *ChangesOptions, f func(*ChangeSet, error) error) (*http.Response, error) {
|
||||
req, err := s.client.NewMetadataRequest("POST", "changes", opts)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
resp, err := s.client.Do(req, nil)
|
||||
if err != nil {
|
||||
return resp, err
|
||||
}
|
||||
defer resp.Body.Close()
|
||||
|
||||
decoder := json.NewDecoder(resp.Body)
|
||||
for {
|
||||
changeSet := &ChangeSet{}
|
||||
err := decoder.Decode(&changeSet)
|
||||
if err == io.EOF {
|
||||
return resp, nil
|
||||
}
|
||||
err = f(changeSet, err)
|
||||
if err != nil {
|
||||
return resp, err
|
||||
}
|
||||
}
|
||||
}
|
||||
2
vendor/github.com/ncw/go-acd/client.go
generated
vendored
2
vendor/github.com/ncw/go-acd/client.go
generated
vendored
@@ -44,6 +44,7 @@ type Client struct {
|
||||
// Services used for talking to different parts of the API.
|
||||
Account *AccountService
|
||||
Nodes *NodesService
|
||||
Changes *ChangesService
|
||||
}
|
||||
|
||||
// NewClient returns a new Amazon Cloud Drive API client. If a nil httpClient is
|
||||
@@ -66,6 +67,7 @@ func NewClient(httpClient *http.Client) *Client {
|
||||
|
||||
c.Account = &AccountService{client: c}
|
||||
c.Nodes = &NodesService{client: c}
|
||||
c.Changes = &ChangesService{client: c}
|
||||
|
||||
return c
|
||||
}
|
||||
|
||||
11
vendor/github.com/ncw/swift/slo.go
generated
vendored
11
vendor/github.com/ncw/swift/slo.go
generated
vendored
@@ -88,7 +88,10 @@ func (c *Connection) StaticLargeObjectMove(srcContainer string, srcObjectName st
|
||||
return err
|
||||
}
|
||||
|
||||
if err := c.createSLOManifest(dstContainer, dstObjectName, info.ContentType, container, segments); err != nil {
|
||||
//copy only metadata during move (other headers might not be safe for copying)
|
||||
headers = headers.ObjectMetadata().ObjectHeaders()
|
||||
|
||||
if err := c.createSLOManifest(dstContainer, dstObjectName, info.ContentType, container, segments, headers); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -100,7 +103,7 @@ func (c *Connection) StaticLargeObjectMove(srcContainer string, srcObjectName st
|
||||
}
|
||||
|
||||
// createSLOManifest creates a static large object manifest
|
||||
func (c *Connection) createSLOManifest(container string, path string, contentType string, segmentContainer string, segments []Object) error {
|
||||
func (c *Connection) createSLOManifest(container string, path string, contentType string, segmentContainer string, segments []Object, h Headers) error {
|
||||
sloSegments := make([]swiftSegment, len(segments))
|
||||
for i, segment := range segments {
|
||||
sloSegments[i].Path = fmt.Sprintf("%s/%s", segmentContainer, segment.Name)
|
||||
@@ -115,7 +118,7 @@ func (c *Connection) createSLOManifest(container string, path string, contentTyp
|
||||
|
||||
values := url.Values{}
|
||||
values.Set("multipart-manifest", "put")
|
||||
if _, err := c.objectPut(container, path, bytes.NewBuffer(content), false, "", contentType, nil, values); err != nil {
|
||||
if _, err := c.objectPut(container, path, bytes.NewBuffer(content), false, "", contentType, h, values); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -127,7 +130,7 @@ func (file *StaticLargeObjectCreateFile) Close() error {
|
||||
}
|
||||
|
||||
func (file *StaticLargeObjectCreateFile) Flush() error {
|
||||
if err := file.conn.createSLOManifest(file.container, file.objectName, file.contentType, file.segmentContainer, file.segments); err != nil {
|
||||
if err := file.conn.createSLOManifest(file.container, file.objectName, file.contentType, file.segmentContainer, file.segments, file.headers); err != nil {
|
||||
return err
|
||||
}
|
||||
return file.conn.waitForSegmentsToShowUp(file.container, file.objectName, file.Size())
|
||||
|
||||
3
vendor/github.com/ncw/swift/swift.go
generated
vendored
3
vendor/github.com/ncw/swift/swift.go
generated
vendored
@@ -297,6 +297,7 @@ var (
|
||||
TimeoutError = newError(408, "Timeout when reading or writing data")
|
||||
Forbidden = newError(403, "Operation forbidden")
|
||||
TooLargeObject = newError(413, "Too Large Object")
|
||||
RateLimit = newError(498, "Rate Limit")
|
||||
|
||||
// Mappings for authentication errors
|
||||
authErrorMap = errorMap{
|
||||
@@ -311,6 +312,7 @@ var (
|
||||
403: Forbidden,
|
||||
404: ContainerNotFound,
|
||||
409: ContainerNotEmpty,
|
||||
498: RateLimit,
|
||||
}
|
||||
|
||||
// Mappings for object errors
|
||||
@@ -321,6 +323,7 @@ var (
|
||||
404: ObjectNotFound,
|
||||
413: TooLargeObject,
|
||||
422: ObjectCorrupted,
|
||||
498: RateLimit,
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
6
vendor/github.com/ncw/swift/watchdog_reader_test.go
generated
vendored
6
vendor/github.com/ncw/swift/watchdog_reader_test.go
generated
vendored
@@ -106,7 +106,7 @@ func TestWatchdogReaderOnSlowNetwork(t *testing.T) {
|
||||
b := make([]byte, len(byteString))
|
||||
n, err := io.ReadFull(wr, b)
|
||||
if err != nil || n != len(b) || !bytes.Equal(b, byteString) {
|
||||
t.Fatal("Bad read %s %d", err, n)
|
||||
t.Fatalf("Bad read %s %d", err, n)
|
||||
}
|
||||
|
||||
checkTimer(t, firedChan, false)
|
||||
@@ -129,9 +129,9 @@ func TestWatchdogReaderValidity(t *testing.T) {
|
||||
b := make([]byte, len(byteString))
|
||||
n, err := io.ReadFull(wr, b)
|
||||
if err != nil || n != len(b) {
|
||||
t.Fatal("Read error: %s", err)
|
||||
t.Fatalf("Read error: %s", err)
|
||||
}
|
||||
if !bytes.Equal(b, byteString) {
|
||||
t.Fatal("Bad read: %#v != %#v", string(b), string(byteString))
|
||||
t.Fatalf("Bad read: %#v != %#v", string(b), string(byteString))
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user