gitee.com/liuxuezhan/go-micro-v1.18.0@v1.0.0/api/server/options.go (about) 1 package server 2 3 import ( 4 "crypto/tls" 5 6 "gitee.com/liuxuezhan/go-micro-v1.18.0/api/server/acme" 7 ) 8 9 type Option func(o *Options) 10 11 type Options struct { 12 EnableACME bool 13 ACMEProvider acme.Provider 14 EnableTLS bool 15 ACMEHosts []string 16 TLSConfig *tls.Config 17 } 18 19 func EnableACME(b bool) Option { 20 return func(o *Options) { 21 o.EnableACME = b 22 } 23 } 24 25 func ACMEHosts(hosts ...string) Option { 26 return func(o *Options) { 27 o.ACMEHosts = hosts 28 } 29 } 30 31 func ACMEProvider(p acme.Provider) Option { 32 return func(o *Options) { 33 o.ACMEProvider = p 34 } 35 } 36 37 func EnableTLS(b bool) Option { 38 return func(o *Options) { 39 o.EnableTLS = b 40 } 41 } 42 43 func TLSConfig(t *tls.Config) Option { 44 return func(o *Options) { 45 o.TLSConfig = t 46 } 47 }