diff --git a/generated.go b/generated.go index 94efc13..a8b164f 100644 --- a/generated.go +++ b/generated.go @@ -141,6 +141,8 @@ var pairMap = map[string]string{ "context": "context.Context", "continuation_token": "string", "credential": "string", + "default_content_type": "string", + "default_io_callback": "func([]byte)", "default_service_pairs": "DefaultServicePairs", "default_storage_pairs": "DefaultStoragePairs", "enable_virtual_dir": "bool", @@ -472,6 +474,10 @@ type pairStorageNew struct { hasEnableVirtualDir bool EnableVirtualDir bool // Default pairs + hasDefaultContentType bool + DefaultContentType string + hasDefaultIoCallback bool + DefaultIoCallback func([]byte) } // parsePairStorageNew will parse Pair slice into *pairStorageNew @@ -515,7 +521,19 @@ func parsePairStorageNew(opts []Pair) (pairStorageNew, error) { } result.hasEnableVirtualDir = true result.EnableVirtualDir = true - // Default pairs + // Default pairs + case "default_content_type": + if result.hasDefaultContentType { + continue + } + result.hasDefaultContentType = true + result.DefaultContentType = v.Value.(string) + case "default_io_callback": + if result.hasDefaultIoCallback { + continue + } + result.hasDefaultIoCallback = true + result.DefaultIoCallback = v.Value.(func([]byte)) } } @@ -526,6 +544,15 @@ func parsePairStorageNew(opts []Pair) (pairStorageNew, error) { } // Default pairs + if result.hasDefaultContentType { + result.HasDefaultStoragePairs = true + result.DefaultStoragePairs.Write = append(result.DefaultStoragePairs.Write, WithContentType(result.DefaultContentType)) + } + if result.hasDefaultIoCallback { + result.HasDefaultStoragePairs = true + result.DefaultStoragePairs.Read = append(result.DefaultStoragePairs.Read, WithIoCallback(result.DefaultIoCallback)) + result.DefaultStoragePairs.Write = append(result.DefaultStoragePairs.Write, WithIoCallback(result.DefaultIoCallback)) + } if !result.HasName { return pairStorageNew{}, services.PairRequiredError{Keys: []string{"name"}} diff --git a/go.mod b/go.mod index ce45618..15e3462 100644 --- a/go.mod +++ b/go.mod @@ -5,7 +5,7 @@ go 1.15 require ( github.com/beyondstorage/go-endpoint v1.1.0 github.com/beyondstorage/go-integration-test/v4 v4.3.0 - github.com/beyondstorage/go-storage/v4 v4.6.0 + github.com/beyondstorage/go-storage/v4 v4.7.0 github.com/google/uuid v1.3.0 github.com/huaweicloud/huaweicloud-sdk-go-obs v3.21.1+incompatible ) diff --git a/go.sum b/go.sum index 39bef63..bbf3f01 100644 --- a/go.sum +++ b/go.sum @@ -5,8 +5,8 @@ github.com/beyondstorage/go-endpoint v1.1.0/go.mod h1:P2hknaGrziOJJKySv/XnAiVw/d github.com/beyondstorage/go-integration-test/v4 v4.3.0 h1:WZ95f78RKlHpvft8zHcMaoa2aaTF/jzlzINhMD0EMHY= github.com/beyondstorage/go-integration-test/v4 v4.3.0/go.mod h1:HKgzemQZpxoHBL49JYEUnLTb5eteUhzcvmmPL7EDT/Y= github.com/beyondstorage/go-storage/v4 v4.4.0/go.mod h1:mc9VzBImjXDg1/1sLfta2MJH79elfM6m47ZZvZ+q/Uw= -github.com/beyondstorage/go-storage/v4 v4.6.0 h1:a05dtbYjMZB7LrUSvVzzHwlx33B4yEmd5oQB7Itk7VY= -github.com/beyondstorage/go-storage/v4 v4.6.0/go.mod h1:mc9VzBImjXDg1/1sLfta2MJH79elfM6m47ZZvZ+q/Uw= +github.com/beyondstorage/go-storage/v4 v4.7.0 h1:7hpRFNoPY0vWRSH/p2biD2dUQdZMrs1TuIkkqDefmCE= +github.com/beyondstorage/go-storage/v4 v4.7.0/go.mod h1:mc9VzBImjXDg1/1sLfta2MJH79elfM6m47ZZvZ+q/Uw= github.com/dave/dst v0.26.2 h1:lnxLAKI3tx7MgLNVDirFCsDTlTG9nKTk7GcptKcWSwY= github.com/dave/dst v0.26.2/go.mod h1:UMDJuIRPfyUCC78eFuB+SV/WI8oDeyFDvM/JR6NI3IU= github.com/dave/gopackages v0.0.0-20170318123100-46e7023ec56e/go.mod h1:i00+b/gKdIDIxuLDFob7ustLAVqhsZRk2qVZrArELGQ=