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  }