Versions in this module Expand all Collapse all v1 v1.999.9999 Jun 10, 2023 Changes in this version + const APIPrefix + const ErrorCodeHeader + const ErrorHeader + const InfoResponseType + const PingResponseType + const QG + const StatsResponseType + var ErrArgRequired = errors.New("argument required") + var ErrConfigValidation = errors.New("validation") + var ErrMarshalResponse = errors.New("marshaling response") + var ErrRespond = errors.New("NATS error when sending response") + var ErrServiceNameRequired = errors.New("service name is required to generate ID control subject") + var ErrVerbNotSupported = errors.New("unsupported verb") + func ControlSubject(verb Verb, name, id string) (string, error) + type Config struct + Description string + DoneHandler DoneHandler + Endpoint *EndpointConfig + ErrorHandler ErrHandler + Metadata map[string]string + Name string + StatsHandler StatsHandler + Version string + type DoneHandler func(Service) + type Endpoint struct + Name string + type EndpointConfig struct + Handler Handler + Metadata map[string]string + Subject string + type EndpointInfo struct + Metadata map[string]string + Name string + Subject string + type EndpointOpt func(*endpointOpts) error + func WithEndpointMetadata(metadata map[string]string) EndpointOpt + func WithEndpointSubject(subject string) EndpointOpt + type EndpointStats struct + AverageProcessingTime time.Duration + Data json.RawMessage + LastError string + Name string + NumErrors int + NumRequests int + ProcessingTime time.Duration + Subject string + type ErrHandler func(Service, *NATSError) + type Group interface + AddEndpoint func(string, Handler, ...EndpointOpt) error + AddGroup func(string) Group + type Handler interface + Handle func(Request) + func ContextHandler(ctx context.Context, handler func(context.Context, Request)) Handler + type HandlerFunc func(Request) + func (fn HandlerFunc) Handle(req Request) + type Headers nats.Header + func (h Headers) Get(key string) string + func (h Headers) Values(key string) []string + type Info struct + Description string + Endpoints []EndpointInfo + Type string + type NATSError struct + Description string + Subject string + func (e *NATSError) Error() string + type Ping struct + Type string + type Request interface + Data func() []byte + Error func(code, description string, data []byte, opts ...RespondOpt) error + Headers func() Headers + Respond func([]byte, ...RespondOpt) error + RespondJSON func(interface{}, ...RespondOpt) error + Subject func() string + type RespondOpt func(*nats.Msg) + func WithHeaders(headers Headers) RespondOpt + type Service interface + AddEndpoint func(string, Handler, ...EndpointOpt) error + AddGroup func(string) Group + Info func() Info + Reset func() + Stats func() Stats + Stop func() error + Stopped func() bool + func AddService(nc *nats.Conn, config Config) (Service, error) + type ServiceIdentity struct + ID string + Metadata map[string]string + Name string + Version string + type Stats struct + Endpoints []*EndpointStats + Started time.Time + Type string + type StatsHandler func(*Endpoint) interface + type Verb int64 + const InfoVerb + const PingVerb + const StatsVerb + func (s Verb) String() string