update github.com/ncw/swift package in vendor to v1.0.40

Signed-off-by: Corey Quon <corey.quon@gmail.com>
This commit is contained in:
Corey Quon 2018-08-31 14:15:50 -07:00
parent 5a74b806f0
commit fd32d5f962
No known key found for this signature in database
GPG key ID: 9B8614CDFD2E86EC
4 changed files with 46 additions and 28 deletions

View file

@ -23,11 +23,11 @@ github.com/satori/go.uuid f58768cc1a7a7e77a3bd49e98cdd21419399b6a3
github.com/matttproud/golang_protobuf_extensions c12348ce28de40eed0136aa2b644d0ee0650e56c github.com/matttproud/golang_protobuf_extensions c12348ce28de40eed0136aa2b644d0ee0650e56c
github.com/miekg/dns 271c58e0c14f552178ea321a545ff9af38930f39 github.com/miekg/dns 271c58e0c14f552178ea321a545ff9af38930f39
github.com/mitchellh/mapstructure 482a9fd5fa83e8c4e7817413b80f3eb8feec03ef github.com/mitchellh/mapstructure 482a9fd5fa83e8c4e7817413b80f3eb8feec03ef
github.com/ncw/swift a0320860b16212c2b59b4912bb6508cda1d7cee6
github.com/prometheus/client_golang c332b6f63c0658a65eca15c0e5247ded801cf564 github.com/prometheus/client_golang c332b6f63c0658a65eca15c0e5247ded801cf564
github.com/prometheus/client_model 99fa1f4be8e564e8a6b613da7fa6f46c9edafc6c github.com/prometheus/client_model 99fa1f4be8e564e8a6b613da7fa6f46c9edafc6c
github.com/prometheus/common 89604d197083d4781071d3c65855d24ecfb0a563 github.com/prometheus/common 89604d197083d4781071d3c65855d24ecfb0a563
github.com/prometheus/procfs cb4147076ac75738c9a7d279075a253c0cc5acbd github.com/prometheus/procfs cb4147076ac75738c9a7d279075a253c0cc5acbd
github.com/ncw/swift c95c6e5c2d1a3d37fc44c8c6dc9e231c7500667d
github.com/spf13/cobra 312092086bed4968099259622145a0c9ae280064 github.com/spf13/cobra 312092086bed4968099259622145a0c9ae280064
github.com/spf13/pflag 5644820622454e71517561946e3d94b9f9db6842 github.com/spf13/pflag 5644820622454e71517561946e3d94b9f9db6842
github.com/stevvooe/resumable 2aaf90b2ceea5072cb503ef2a620b08ff3119870 github.com/stevvooe/resumable 2aaf90b2ceea5072cb503ef2a620b08ff3119870

View file

@ -26,7 +26,7 @@ See here for full package docs
- http://godoc.org/github.com/ncw/swift - http://godoc.org/github.com/ncw/swift
Here is a short example from the docs Here is a short example from the docs
```go
import "github.com/ncw/swift" import "github.com/ncw/swift"
// Create a connection // Create a connection
@ -46,6 +46,7 @@ Here is a short example from the docs
containers, err := c.ContainerNames(nil) containers, err := c.ContainerNames(nil)
fmt.Println(containers) fmt.Println(containers)
// etc... // etc...
```
Additions Additions
--------- ---------

11
vendor/github.com/ncw/swift/slo.go generated vendored
View file

@ -88,7 +88,10 @@ func (c *Connection) StaticLargeObjectMove(srcContainer string, srcObjectName st
return err 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 return err
} }
@ -100,7 +103,7 @@ func (c *Connection) StaticLargeObjectMove(srcContainer string, srcObjectName st
} }
// createSLOManifest creates a static large object manifest // 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)) sloSegments := make([]swiftSegment, len(segments))
for i, segment := range segments { for i, segment := range segments {
sloSegments[i].Path = fmt.Sprintf("%s/%s", segmentContainer, segment.Name) 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 := url.Values{}
values.Set("multipart-manifest", "put") 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 return err
} }
@ -127,7 +130,7 @@ func (file *StaticLargeObjectCreateFile) Close() error {
} }
func (file *StaticLargeObjectCreateFile) Flush() 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 err
} }
return file.conn.waitForSegmentsToShowUp(file.container, file.objectName, file.Size()) return file.conn.waitForSegmentsToShowUp(file.container, file.objectName, file.Size())

18
vendor/github.com/ncw/swift/swift.go generated vendored
View file

@ -297,6 +297,7 @@ var (
TimeoutError = newError(408, "Timeout when reading or writing data") TimeoutError = newError(408, "Timeout when reading or writing data")
Forbidden = newError(403, "Operation forbidden") Forbidden = newError(403, "Operation forbidden")
TooLargeObject = newError(413, "Too Large Object") TooLargeObject = newError(413, "Too Large Object")
RateLimit = newError(498, "Rate Limit")
// Mappings for authentication errors // Mappings for authentication errors
authErrorMap = errorMap{ authErrorMap = errorMap{
@ -311,6 +312,7 @@ var (
403: Forbidden, 403: Forbidden,
404: ContainerNotFound, 404: ContainerNotFound,
409: ContainerNotEmpty, 409: ContainerNotEmpty,
498: RateLimit,
} }
// Mappings for object errors // Mappings for object errors
@ -321,6 +323,7 @@ var (
404: ObjectNotFound, 404: ObjectNotFound,
413: TooLargeObject, 413: TooLargeObject,
422: ObjectCorrupted, 422: ObjectCorrupted,
498: RateLimit,
} }
) )
@ -1840,7 +1843,8 @@ type BulkDeleteResult struct {
func (c *Connection) doBulkDelete(objects []string) (result BulkDeleteResult, err error) { func (c *Connection) doBulkDelete(objects []string) (result BulkDeleteResult, err error) {
var buffer bytes.Buffer var buffer bytes.Buffer
for _, s := range objects { for _, s := range objects {
buffer.WriteString(url.QueryEscape(s) + "\n") u := url.URL{Path: s}
buffer.WriteString(u.String() + "\n")
} }
resp, headers, err := c.storage(RequestOpts{ resp, headers, err := c.storage(RequestOpts{
Operation: "DELETE", Operation: "DELETE",
@ -1848,6 +1852,7 @@ func (c *Connection) doBulkDelete(objects []string) (result BulkDeleteResult, er
Headers: Headers{ Headers: Headers{
"Accept": "application/json", "Accept": "application/json",
"Content-Type": "text/plain", "Content-Type": "text/plain",
"Content-Length": strconv.Itoa(buffer.Len()),
}, },
ErrorMap: ContainerErrorMap, ErrorMap: ContainerErrorMap,
Body: &buffer, Body: &buffer,
@ -2074,6 +2079,15 @@ func (c *Connection) ObjectUpdate(container string, objectName string, h Headers
return err return err
} }
// urlPathEscape escapes URL path the in string using URL escaping rules
//
// This mimics url.PathEscape which only available from go 1.8
func urlPathEscape(in string) string {
var u url.URL
u.Path = in
return u.String()
}
// ObjectCopy does a server side copy of an object to a new position // ObjectCopy does a server side copy of an object to a new position
// //
// All metadata is preserved. If metadata is set in the headers then // All metadata is preserved. If metadata is set in the headers then
@ -2086,7 +2100,7 @@ func (c *Connection) ObjectUpdate(container string, objectName string, h Headers
func (c *Connection) ObjectCopy(srcContainer string, srcObjectName string, dstContainer string, dstObjectName string, h Headers) (headers Headers, err error) { func (c *Connection) ObjectCopy(srcContainer string, srcObjectName string, dstContainer string, dstObjectName string, h Headers) (headers Headers, err error) {
// Meta stuff // Meta stuff
extraHeaders := map[string]string{ extraHeaders := map[string]string{
"Destination": dstContainer + "/" + dstObjectName, "Destination": urlPathEscape(dstContainer + "/" + dstObjectName),
} }
for key, value := range h { for key, value := range h {
extraHeaders[key] = value extraHeaders[key] = value