Documentation ¶
Index ¶
- Constants
- func AddListenerFlags(set *pflag.FlagSet, name, addr string)
- type ListenerBuilder
- func (b *ListenerBuilder) AddTLSProtocol(value string) *ListenerBuilder
- func (b *ListenerBuilder) Build() (result net.Listener, err error)
- func (b *ListenerBuilder) SetAddress(value string) *ListenerBuilder
- func (b *ListenerBuilder) SetFlags(flags *pflag.FlagSet, name string) *ListenerBuilder
- func (b *ListenerBuilder) SetLogger(value *slog.Logger) *ListenerBuilder
- func (b *ListenerBuilder) SetNetwork(value string) *ListenerBuilder
- func (b *ListenerBuilder) SetTLSCrt(value string) *ListenerBuilder
- func (b *ListenerBuilder) SetTLSKey(value string) *ListenerBuilder
Constants ¶
const ( APIListener = "API" MetricsListener = "Metrics" )
Common listener names:
const ( APIAddress = "localhost:8000" MetricsAddress = "localhost:8001" )
Common listener addresses:
Variables ¶
This section is empty.
Functions ¶
func AddListenerFlags ¶
AddListenerFlags adds to the given flag set the flags needed to configure a network listener. It receives the name of the listerner and the default address. For example, to configure an API listener:
network.AddListenerFlags("API", "localhost:8000")
The name will be converted to lower case to generate a prefix for the flags, and will be used unchanged as a prefix for the help text. The above example will result in the following flags:
--api-listener-address string API listen address. (default "localhost:8000") --api-listener-tls-crt string API TLS certificate in PEM format. --api-listener-tls-key string API TLS key in PEM format.
Types ¶
type ListenerBuilder ¶
type ListenerBuilder struct {
// contains filtered or unexported fields
}
ListenerBuilder contains the data and logic needed to create a network listener. Don't create instances of this object directly, use the NewListener function instead.
func NewListener ¶
func NewListener() *ListenerBuilder
NewListener creates a builder that can then used to configure and create a network listener.
func (*ListenerBuilder) AddTLSProtocol ¶
func (b *ListenerBuilder) AddTLSProtocol(value string) *ListenerBuilder
AddTLSProtocol adds a protocol that will be supported during the TLS negotiation.
func (*ListenerBuilder) Build ¶
func (b *ListenerBuilder) Build() (result net.Listener, err error)
Build uses the data stored in the builder to create a new network listener.
func (*ListenerBuilder) SetAddress ¶
func (b *ListenerBuilder) SetAddress(value string) *ListenerBuilder
SetAddress sets the listen address. This is mandatory.
func (*ListenerBuilder) SetFlags ¶
func (b *ListenerBuilder) SetFlags(flags *pflag.FlagSet, name string) *ListenerBuilder
SetFlags sets the command line flags that should be used to configure the listener.
The name is used to select the options when there are multiple listeners. For example, if it is 'API' then it will only take into accounts the flags starting with '--api'.
This is optional.
func (*ListenerBuilder) SetLogger ¶
func (b *ListenerBuilder) SetLogger(value *slog.Logger) *ListenerBuilder
SetLogger sets the logger that the listener will use to send messages to the log. This is mandatory.
func (*ListenerBuilder) SetNetwork ¶
func (b *ListenerBuilder) SetNetwork(value string) *ListenerBuilder
SetNetwork sets the network. This is optional and the default is TCP.
func (*ListenerBuilder) SetTLSCrt ¶
func (b *ListenerBuilder) SetTLSCrt(value string) *ListenerBuilder
SetTLSCrt sets the file that contains the certificate file, in PEM format.
func (*ListenerBuilder) SetTLSKey ¶
func (b *ListenerBuilder) SetTLSKey(value string) *ListenerBuilder
SetTLSKey sets the file that contains the key file, in PEM format.