Skip to content

Commit

Permalink
refactor(签名): 重构创世云签名
Browse files Browse the repository at this point in the history
  • Loading branch information
storezhang committed Mar 31, 2023
1 parent 4b43ccd commit 80c929d
Show file tree
Hide file tree
Showing 2 changed files with 47 additions and 22 deletions.
29 changes: 7 additions & 22 deletions chuangcache_builder.go
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
package cdn

type chuangcacheBuilder struct {
builder *builder
domain string
executor signer
builder *builder
signers map[string]signer
}

func newChuangcacheBuilder(builder *builder) *chuangcacheBuilder {
Expand All @@ -12,29 +11,15 @@ func newChuangcacheBuilder(builder *builder) *chuangcacheBuilder {
}
}

func (cb *chuangcacheBuilder) Default() *chuangcacheBuilder {
return cb.Domain(defaults)
}

func (cb *chuangcacheBuilder) Any() *chuangcacheBuilder {
return cb.Domain(defaults)
}

func (cb *chuangcacheBuilder) Domain(domain string) *chuangcacheBuilder {
cb.domain = domain

return cb
}

func (cb *chuangcacheBuilder) Token(token string) *chuangcacheBuilder {
cb.executor = newChuangcache(token)

return cb
func (cb *chuangcacheBuilder) Signer() *chuangcacheSignerBuilder {
return newChuangcacheSignerBuilder(cb)
}

func (cb *chuangcacheBuilder) Build() (b *builder) {
b = cb.builder
b.params.signers[cb.domain] = cb.executor
for domain, _signer := range cb.signers {
b.params.signers[domain] = _signer
}

return
}
40 changes: 40 additions & 0 deletions chuangcache_signer_builder.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
package cdn

type chuangcacheSignerBuilder struct {
builder *chuangcacheBuilder
domain string
signer signer
}

func newChuangcacheSignerBuilder(builder *chuangcacheBuilder) *chuangcacheSignerBuilder {
return &chuangcacheSignerBuilder{
builder: builder,
}
}

func (csb *chuangcacheSignerBuilder) Default() *chuangcacheSignerBuilder {
return csb.Domain(defaults)
}

func (csb *chuangcacheSignerBuilder) Any() *chuangcacheSignerBuilder {
return csb.Domain(defaults)
}

func (csb *chuangcacheSignerBuilder) Domain(domain string) *chuangcacheSignerBuilder {
csb.domain = domain

return csb
}

func (csb *chuangcacheSignerBuilder) Token(token string) *chuangcacheSignerBuilder {
csb.signer = newChuangcache(token)

return csb
}

func (csb *chuangcacheSignerBuilder) Build() (cb *chuangcacheBuilder) {
cb = csb.builder
cb.signers[csb.domain] = csb.signer

return
}

0 comments on commit 80c929d

Please sign in to comment.