44 lines
1.1 KiB
Go
44 lines
1.1 KiB
Go
package server
|
|
|
|
type HandlerOptions struct {
|
|
Internal bool
|
|
Metadata map[string]map[string]string
|
|
}
|
|
|
|
type SubscriberOptions struct {
|
|
Queue string
|
|
Internal bool
|
|
}
|
|
|
|
// EndpointMetadata is a Handler option that allows metadata to be added to
|
|
// individual endpoints.
|
|
func EndpointMetadata(name string, md map[string]string) HandlerOption {
|
|
return func(o *HandlerOptions) {
|
|
o.Metadata[name] = md
|
|
}
|
|
}
|
|
|
|
// Internal Handler options specifies that a handler is not advertised
|
|
// to the discovery system. In the future this may also limit request
|
|
// to the internal network or authorised user.
|
|
func InternalHandler(b bool) HandlerOption {
|
|
return func(o *HandlerOptions) {
|
|
o.Internal = b
|
|
}
|
|
}
|
|
|
|
// Internal Subscriber options specifies that a subscriber is not advertised
|
|
// to the discovery system.
|
|
func InternalSubscriber(b bool) SubscriberOption {
|
|
return func(o *SubscriberOptions) {
|
|
o.Internal = b
|
|
}
|
|
}
|
|
|
|
// Shared queue name distributed messages across subscribers
|
|
func SubscriberQueue(n string) SubscriberOption {
|
|
return func(o *SubscriberOptions) {
|
|
o.Queue = n
|
|
}
|
|
}
|