MCPcopy Index your code
hub / github.com/TruthHun/DocHub / NewCloudStoreWithConfig

Function NewCloudStoreWithConfig

models/CloudStoreModel.go:37–183  ·  view source on GitHub ↗
(storeConfig interface{}, storeType helper.ConfigCate, private bool)

Source from the content-addressed store, hash-verified

35var errWithoutConfig = errors.New("云存储配置不正确")
36
37func NewCloudStoreWithConfig(storeConfig interface{}, storeType helper.ConfigCate, private bool) (cs *CloudStore, err error) {
38 cs = &CloudStore{
39 StoreType: storeType,
40 config: storeConfig,
41 }
42 cs.Private = private
43 switch cs.StoreType {
44 case StoreOss:
45 cfg := cs.config.(*ConfigOss)
46 bucket := cfg.PublicBucket
47 domain := cfg.PublicBucketDomain
48 if cs.Private {
49 bucket = cfg.PrivateBucket
50 domain = cfg.PrivateBucketDomain
51 if cfg.Expire <= 0 {
52 cfg.Expire = 1800
53 }
54 cs.expire = cfg.Expire
55 }
56 cs.privateDomain = cfg.PrivateBucketDomain
57 cs.publicDomain = cfg.PublicBucketDomain
58 if cfg.AccessKey == "" || cfg.SecretKey == "" || cfg.Endpoint == "" || bucket == "" {
59 err = errWithoutConfig
60 return
61 }
62 cs.client, err = CloudStore2.NewOSS(cfg.AccessKey, cfg.SecretKey, cfg.Endpoint, bucket, domain)
63 cs.CanGZIP = true
64 case StoreObs:
65 cfg := cs.config.(*ConfigObs)
66 bucket := cfg.PublicBucket
67 domain := cfg.PublicBucketDomain
68 if cs.Private {
69 bucket = cfg.PrivateBucket
70 domain = cfg.PrivateBucketDomain
71 if cfg.Expire <= 0 {
72 cfg.Expire = 1800
73 }
74 cs.expire = cfg.Expire
75 }
76 cs.privateDomain = cfg.PrivateBucketDomain
77 cs.publicDomain = cfg.PublicBucketDomain
78 if cfg.AccessKey == "" || cfg.SecretKey == "" || cfg.Endpoint == "" || bucket == "" {
79 err = errWithoutConfig
80 return
81 }
82 cs.client, err = CloudStore2.NewOBS(cfg.AccessKey, cfg.SecretKey, bucket, cfg.Endpoint, domain)
83 case StoreQiniu:
84 cfg := cs.config.(*ConfigQiniu)
85 bucket := cfg.PublicBucket
86 domain := cfg.PublicBucketDomain
87 if cs.Private {
88 bucket = cfg.PrivateBucket
89 domain = cfg.PrivateBucketDomain
90 if cfg.Expire <= 0 {
91 cfg.Expire = 1800
92 }
93 cs.expire = cfg.Expire
94 }

Callers 1

NewCloudStoreFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected