39 lines
529 B
Go
39 lines
529 B
Go
|
package server
|
||
|
|
||
|
import (
|
||
|
"crypto/tls"
|
||
|
)
|
||
|
|
||
|
type Option func(o *Options)
|
||
|
|
||
|
type Options struct {
|
||
|
EnableACME bool
|
||
|
EnableTLS bool
|
||
|
ACMEHosts []string
|
||
|
TLSConfig *tls.Config
|
||
|
}
|
||
|
|
||
|
func ACMEHosts(hosts ...string) Option {
|
||
|
return func(o *Options) {
|
||
|
o.ACMEHosts = hosts
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func EnableACME(b bool) Option {
|
||
|
return func(o *Options) {
|
||
|
o.EnableACME = b
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func EnableTLS(b bool) Option {
|
||
|
return func(o *Options) {
|
||
|
o.EnableTLS = b
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func TLSConfig(t *tls.Config) Option {
|
||
|
return func(o *Options) {
|
||
|
o.TLSConfig = t
|
||
|
}
|
||
|
}
|