diff --git a/go.mod b/go.mod index c63d9bb..3fddecb 100644 --- a/go.mod +++ b/go.mod @@ -7,8 +7,8 @@ require ( github.com/djherbis/times v1.6.0 github.com/russross/blackfriday/v2 v2.1.0 github.com/sfomuseum/go-flags v0.10.0 - gocloud.dev v0.39.0 - golang.org/x/text v0.18.0 + gocloud.dev v0.40.0 + golang.org/x/text v0.20.0 ) require ( diff --git a/go.sum b/go.sum index e22e07b..113bece 100644 --- a/go.sum +++ b/go.sum @@ -134,8 +134,8 @@ go.opentelemetry.io/otel/metric v1.28.0 h1:f0HGvSl1KRAU1DLgLGFjrwVyismPlnuU6JD6b go.opentelemetry.io/otel/metric v1.28.0/go.mod h1:Fb1eVBFZmLVTMb6PPohq3TO9IIhUisDsbJoL/+uQW4s= go.opentelemetry.io/otel/trace v1.28.0 h1:GhQ9cUuQGmNDd5BTCP2dAvv75RdMxEfTmYejp+lkx9g= go.opentelemetry.io/otel/trace v1.28.0/go.mod h1:jPyXzNPg6da9+38HEwElrQiHlVMTnVfM3/yv2OlIHaI= -gocloud.dev v0.39.0 h1:EYABYGhAalPUaMrbSKOr5lejxoxvXj99nE8XFtsDgds= -gocloud.dev v0.39.0/go.mod h1:drz+VyYNBvrMTW0KZiBAYEdl8lbNZx+OQ7oQvdrFmSQ= +gocloud.dev v0.40.0 h1:f8LgP+4WDqOG/RXoUcyLpeIAGOcAbZrZbDQCUee10ng= +gocloud.dev v0.40.0/go.mod h1:drz+VyYNBvrMTW0KZiBAYEdl8lbNZx+OQ7oQvdrFmSQ= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.26.0 h1:RrRspgV4mU+YwB4FYnuBoKsUapNIL5cohGAmSH3azsw= @@ -158,8 +158,8 @@ golang.org/x/oauth2 v0.22.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbht golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ= -golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.9.0 h1:fEo0HyrW1GIgZdpbhCRO0PkJajUS5H9IFUztCgEo2jQ= +golang.org/x/sync v0.9.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -169,8 +169,8 @@ golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.18.0 h1:XvMDiNzPAl0jr17s6W9lcaIhGUfUORdGCNsuLmPG224= -golang.org/x/text v0.18.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.20.0 h1:gK/Kv2otX8gz+wn7Rmb3vT96ZwuoxnQlY+HlJVj7Qug= +golang.org/x/text v0.20.0/go.mod h1:D4IsuqiFMhST5bX19pQ9ikHC2GsaKyk/oF+pn3ducp4= golang.org/x/time v0.6.0 h1:eTDhh4ZXt5Qf0augr54TN6suAUudPcawVZeIAPU7D4U= golang.org/x/time v0.6.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= diff --git a/vendor/gocloud.dev/blob/blob.go b/vendor/gocloud.dev/blob/blob.go index b0237fc..59624e5 100644 --- a/vendor/gocloud.dev/blob/blob.go +++ b/vendor/gocloud.dev/blob/blob.go @@ -514,11 +514,16 @@ func (w *Writer) uploadAndClose(r io.Reader) (err error) { // Shouldn't happen. return gcerr.Newf(gcerr.Internal, nil, "blob: uploadAndClose must be the first write") } - driverUploader, ok := w.w.(driver.Uploader) - if ok { - err = driverUploader.Upload(r) - } else { + // When ContentMD5 is being checked, we can't use Upload. + if len(w.contentMD5) > 0 { _, err = w.ReadFrom(r) + } else { + driverUploader, ok := w.w.(driver.Uploader) + if ok { + err = driverUploader.Upload(r) + } else { + _, err = w.ReadFrom(r) + } } cerr := w.Close() if err == nil && cerr != nil { @@ -688,7 +693,8 @@ var NewBucket = newBucket // function; see the package documentation for details. func newBucket(b driver.Bucket) *Bucket { return &Bucket{ - b: b, + b: b, + ioFSCallback: func() (context.Context, *ReaderOptions) { return context.Background(), nil }, tracer: &oc.Tracer{ Package: pkgName, Provider: oc.ProviderName(b), diff --git a/vendor/gocloud.dev/blob/blob_fs.go b/vendor/gocloud.dev/blob/blob_fs.go index 3b75a8e..22b34d1 100644 --- a/vendor/gocloud.dev/blob/blob_fs.go +++ b/vendor/gocloud.dev/blob/blob_fs.go @@ -158,17 +158,15 @@ func (d *iofsDir) openOnce() error { // // fn should return a context.Context and *ReaderOptions that can be used in // calls to List and NewReader on b. It may be called more than once. +// +// If SetIOFSCallback is never called, io.FS functions will use context.Background +// and a default ReaderOptions. func (b *Bucket) SetIOFSCallback(fn func() (context.Context, *ReaderOptions)) { b.ioFSCallback = fn } // Open implements fs.FS.Open (https://pkg.go.dev/io/fs#FS). -// -// SetIOFSCallback must be called prior to calling this function. func (b *Bucket) Open(path string) (fs.File, error) { - if b.ioFSCallback == nil { - return nil, gcerr.Newf(gcerr.InvalidArgument, nil, "blob: Open -- SetIOFSCallback must be called before Open") - } if !fs.ValidPath(path) { return nil, &fs.PathError{Op: "open", Path: path, Err: fs.ErrInvalid} } diff --git a/vendor/modules.txt b/vendor/modules.txt index c9f94ba..754fa35 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -42,7 +42,7 @@ go.opencensus.io/trace go.opencensus.io/trace/internal go.opencensus.io/trace/propagation go.opencensus.io/trace/tracestate -# gocloud.dev v0.39.0 +# gocloud.dev v0.40.0 ## explicit; go 1.21.0 gocloud.dev/blob gocloud.dev/blob/driver @@ -65,7 +65,7 @@ golang.org/x/net/trace ## explicit; go 1.18 golang.org/x/sys/unix golang.org/x/sys/windows -# golang.org/x/text v0.18.0 +# golang.org/x/text v0.20.0 ## explicit; go 1.18 golang.org/x/text/secure/bidirule golang.org/x/text/transform