diff options
Diffstat (limited to 'workhorse/internal/config/url_openers.go')
-rw-r--r-- | workhorse/internal/config/url_openers.go | 51 |
1 files changed, 0 insertions, 51 deletions
diff --git a/workhorse/internal/config/url_openers.go b/workhorse/internal/config/url_openers.go deleted file mode 100644 index d3c96ee9eef..00000000000 --- a/workhorse/internal/config/url_openers.go +++ /dev/null @@ -1,51 +0,0 @@ -package config - -import ( - "context" - "fmt" - "net/url" - - "gocloud.dev/blob" - "gocloud.dev/blob/azureblob" -) - -// This code can be removed once https://github.com/google/go-cloud/pull/2851 is merged. - -// URLOpener opens Azure URLs like "azblob://mybucket". -// -// The URL host is used as the bucket name. -// -// The following query options are supported: -// - domain: The domain name used to access the Azure Blob storage (e.g. blob.core.windows.net) -type azureURLOpener struct { - *azureblob.URLOpener -} - -func (o *azureURLOpener) OpenBucketURL(ctx context.Context, u *url.URL) (*blob.Bucket, error) { - opts := new(azureblob.Options) - *opts = o.Options - - err := setOptionsFromURLParams(u.Query(), opts) - if err != nil { - return nil, err - } - return azureblob.OpenBucket(ctx, o.Pipeline, o.AccountName, u.Host, opts) -} - -func setOptionsFromURLParams(q url.Values, opts *azureblob.Options) error { - for param, values := range q { - if len(values) > 1 { - return fmt.Errorf("multiple values of %v not allowed", param) - } - - value := values[0] - switch param { - case "domain": - opts.StorageDomain = azureblob.StorageDomain(value) - default: - return fmt.Errorf("unknown query parameter %q", param) - } - } - - return nil -} |