Documentation
¶
Index ¶
- func RegisterPathPrefix(parentRouter *mux.Router, pathPrefix string, methodHandlers MethodHandlers) *mux.Router
- type APIRestJetStreamDataplaneHandler
- func (h APIRestJetStreamDataplaneHandler) Alive(w http.ResponseWriter, r *http.Request)
- func (h APIRestJetStreamDataplaneHandler) AliveHandler() http.HandlerFunc
- func (h APIRestJetStreamDataplaneHandler) PublishMessage(w http.ResponseWriter, r *http.Request)
- func (h APIRestJetStreamDataplaneHandler) PublishMessageHandler() http.HandlerFunc
- func (h APIRestJetStreamDataplaneHandler) PushSubscribe(w http.ResponseWriter, r *http.Request)
- func (h APIRestJetStreamDataplaneHandler) PushSubscribeHandler() http.HandlerFunc
- func (h APIRestJetStreamDataplaneHandler) Ready(w http.ResponseWriter, r *http.Request)
- func (h APIRestJetStreamDataplaneHandler) ReadyHandler() http.HandlerFunc
- func (h APIRestJetStreamDataplaneHandler) ReceiveMsgACK(w http.ResponseWriter, r *http.Request)
- func (h APIRestJetStreamDataplaneHandler) ReceiveMsgACKHandler() http.HandlerFunc
- type APIRestJetStreamManagementHandler
- func (h APIRestJetStreamManagementHandler) Alive(w http.ResponseWriter, r *http.Request)
- func (h APIRestJetStreamManagementHandler) AliveHandler() http.HandlerFunc
- func (h APIRestJetStreamManagementHandler) ChangeStreamSubjects(w http.ResponseWriter, r *http.Request)
- func (h APIRestJetStreamManagementHandler) ChangeStreamSubjectsHandler() http.HandlerFunc
- func (h APIRestJetStreamManagementHandler) CreateConsumer(w http.ResponseWriter, r *http.Request)
- func (h APIRestJetStreamManagementHandler) CreateConsumerHandler() http.HandlerFunc
- func (h APIRestJetStreamManagementHandler) CreateStream(w http.ResponseWriter, r *http.Request)
- func (h APIRestJetStreamManagementHandler) CreateStreamHandler() http.HandlerFunc
- func (h APIRestJetStreamManagementHandler) DeleteConsumer(w http.ResponseWriter, r *http.Request)
- func (h APIRestJetStreamManagementHandler) DeleteConsumerHandler() http.HandlerFunc
- func (h APIRestJetStreamManagementHandler) DeleteStream(w http.ResponseWriter, r *http.Request)
- func (h APIRestJetStreamManagementHandler) DeleteStreamHandler() http.HandlerFunc
- func (h APIRestJetStreamManagementHandler) GetAllConsumers(w http.ResponseWriter, r *http.Request)
- func (h APIRestJetStreamManagementHandler) GetAllConsumersHandler() http.HandlerFunc
- func (h APIRestJetStreamManagementHandler) GetAllStreams(w http.ResponseWriter, r *http.Request)
- func (h APIRestJetStreamManagementHandler) GetAllStreamsHandler() http.HandlerFunc
- func (h APIRestJetStreamManagementHandler) GetConsumer(w http.ResponseWriter, r *http.Request)
- func (h APIRestJetStreamManagementHandler) GetConsumerHandler() http.HandlerFunc
- func (h APIRestJetStreamManagementHandler) GetStream(w http.ResponseWriter, r *http.Request)
- func (h APIRestJetStreamManagementHandler) GetStreamHandler() http.HandlerFunc
- func (h APIRestJetStreamManagementHandler) Ready(w http.ResponseWriter, r *http.Request)
- func (h APIRestJetStreamManagementHandler) ReadyHandler() http.HandlerFunc
- func (h APIRestJetStreamManagementHandler) UpdateStreamLimits(w http.ResponseWriter, r *http.Request)
- func (h APIRestJetStreamManagementHandler) UpdateStreamLimitsHandler() http.HandlerFunc
- type APIRestReqStreamSubjects
- type APIRestRespAllJetStreamConsumers
- type APIRestRespAllJetStreams
- type APIRestRespConsumerConfig
- type APIRestRespConsumerInfo
- type APIRestRespDataMessage
- type APIRestRespOneJetStream
- type APIRestRespOneJetStreamConsumer
- type APIRestRespSequenceInfo
- type APIRestRespStreamConfig
- type APIRestRespStreamInfo
- type APIRestRespStreamState
- type MethodHandlers
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RegisterPathPrefix ¶
func RegisterPathPrefix( parentRouter *mux.Router, pathPrefix string, methodHandlers MethodHandlers, ) *mux.Router
RegisterPathPrefix registers new method handler for a path prefix
Types ¶
type APIRestJetStreamDataplaneHandler ¶
type APIRestJetStreamDataplaneHandler struct {
goutils.RestAPIHandler
// contains filtered or unexported fields
}
APIRestJetStreamDataplaneHandler REST handler for JetStream dataplane
func GetAPIRestJetStreamDataplaneHandler ¶
func GetAPIRestJetStreamDataplaneHandler( baseContext context.Context, client *core.NatsClient, httpConfig *common.HTTPConfig, runTimePublisher dataplane.JetStreamPublisher, ackBroadcast dataplane.JetStreamACKBroadcaster, wg *sync.WaitGroup, ) (APIRestJetStreamDataplaneHandler, error)
GetAPIRestJetStreamDataplaneHandler define APIRestJetStreamDataplaneHandler
func (APIRestJetStreamDataplaneHandler) Alive ¶
func (h APIRestJetStreamDataplaneHandler) Alive(w http.ResponseWriter, r *http.Request)
Alive godoc @Summary For dataplane REST API liveness check @Description Will return success to indicate dataplane REST API module is live @tags Dataplane @Produce json @Success 200 {object} goutils.RestAPIBaseResponse "success" @Failure 400 {string} string "error" @Failure 404 {string} string "error" @Failure 500 {object} goutils.RestAPIBaseResponse "error" @Router /v1/data/alive [get]
func (APIRestJetStreamDataplaneHandler) AliveHandler ¶
func (h APIRestJetStreamDataplaneHandler) AliveHandler() http.HandlerFunc
AliveHandler Wrapper around Alive
func (APIRestJetStreamDataplaneHandler) PublishMessage ¶
func (h APIRestJetStreamDataplaneHandler) PublishMessage(w http.ResponseWriter, r *http.Request)
PublishMessage godoc @Summary Publish a message @Description Publish a Base64 encoded message to a JetStream subject @tags Dataplane @Accept plain @Produce json @Param Httpmq-Request-ID header string false "User provided request ID to match against logs" @Param subjectName path string true "JetStream subject to publish under" @Param message body string true "Message to publish in Base64 encoding" @Success 200 {object} goutils.RestAPIBaseResponse "success" @Failure 400 {object} goutils.RestAPIBaseResponse "error" @Failure 404 {string} string "error" @Failure 500 {object} goutils.RestAPIBaseResponse "error" @Header 200,400,500 {string} Httpmq-Request-ID "Request ID to match against logs" @Router /v1/data/subject/{subjectName} [post]
func (APIRestJetStreamDataplaneHandler) PublishMessageHandler ¶
func (h APIRestJetStreamDataplaneHandler) PublishMessageHandler() http.HandlerFunc
PublishMessageHandler Wrapper around PublishMessage
func (APIRestJetStreamDataplaneHandler) PushSubscribe ¶
func (h APIRestJetStreamDataplaneHandler) PushSubscribe(w http.ResponseWriter, r *http.Request)
PushSubscribe godoc @Summary Establish a pull subscribe session @Description Establish a JetStream pull subscribe session for a client. This is a long lived server send event stream. The stream will close on client disconnect, server shutdown, or server internal error. @tags Dataplane @Produce json @Param Httpmq-Request-ID header string false "User provided request ID to match against logs" @Param streamName path string true "JetStream stream name" @Param consumerName path string true "JetStream consumer name" @Param subject_name query string true "JetStream subject to subscribe to" @Param max_msg_inflight query integer false "Max number of inflight messages (DEFAULT: 1)" @Param delivery_group query string false "Needed if consumer uses delivery groups" @Success 200 {object} APIRestRespDataMessage "success" @Failure 400 {object} goutils.RestAPIBaseResponse "error" @Failure 404 {string} string "error" @Failure 500 {object} goutils.RestAPIBaseResponse "error" @Header 200,400,500 {string} Httpmq-Request-ID "Request ID to match against logs" @Router /v1/data/stream/{streamName}/consumer/{consumerName} [get]
func (APIRestJetStreamDataplaneHandler) PushSubscribeHandler ¶
func (h APIRestJetStreamDataplaneHandler) PushSubscribeHandler() http.HandlerFunc
PushSubscribeHandler Wrapper around PushSubscribe
func (APIRestJetStreamDataplaneHandler) Ready ¶
func (h APIRestJetStreamDataplaneHandler) Ready(w http.ResponseWriter, r *http.Request)
Ready godoc @Summary For dataplane REST API readiness check @Description Will return success if dataplane REST API module is ready for use @tags Dataplane @Produce json @Success 200 {object} goutils.RestAPIBaseResponse "success" @Failure 400 {string} string "error" @Failure 404 {string} string "error" @Failure 500 {object} goutils.RestAPIBaseResponse "error" @Router /v1/data/ready [get]
func (APIRestJetStreamDataplaneHandler) ReadyHandler ¶
func (h APIRestJetStreamDataplaneHandler) ReadyHandler() http.HandlerFunc
ReadyHandler Wrapper around Alive
func (APIRestJetStreamDataplaneHandler) ReceiveMsgACK ¶
func (h APIRestJetStreamDataplaneHandler) ReceiveMsgACK(w http.ResponseWriter, r *http.Request)
ReceiveMsgACK godoc @Summary Handle ACK for message @Description Process JetStream message ACK for a stream / consumer @tags Dataplane @Accept json @Produce json @Param Httpmq-Request-ID header string false "User provided request ID to match against logs" @Param streamName path string true "JetStream stream name" @Param consumerName path string true "JetStream consumer name" @Param sequenceNum body dataplane.AckSeqNum true "Message message sequence numbers" @Success 200 {object} goutils.RestAPIBaseResponse "success" @Failure 400 {object} goutils.RestAPIBaseResponse "error" @Failure 404 {string} string "error" @Failure 500 {object} goutils.RestAPIBaseResponse "error" @Header 200,400,500 {string} Httpmq-Request-ID "Request ID to match against logs" @Router /v1/data/stream/{streamName}/consumer/{consumerName}/ack [post]
func (APIRestJetStreamDataplaneHandler) ReceiveMsgACKHandler ¶
func (h APIRestJetStreamDataplaneHandler) ReceiveMsgACKHandler() http.HandlerFunc
ReceiveMsgACKHandler Wrapper around ReceiveMsgACK
type APIRestJetStreamManagementHandler ¶
type APIRestJetStreamManagementHandler struct {
goutils.RestAPIHandler
// contains filtered or unexported fields
}
APIRestJetStreamManagementHandler REST handler for JetStream management
func GetAPIRestJetStreamManagementHandler ¶
func GetAPIRestJetStreamManagementHandler( core management.JetStreamController, httpConfig *common.HTTPConfig, ) (APIRestJetStreamManagementHandler, error)
GetAPIRestJetStreamManagementHandler define APIRestJetStreamManagementHandler
func (APIRestJetStreamManagementHandler) Alive ¶
func (h APIRestJetStreamManagementHandler) Alive(w http.ResponseWriter, r *http.Request)
Alive godoc @Summary For management REST API liveness check @Description Will return success to indicate management REST API module is live @tags Management @Produce json @Success 200 {object} goutils.RestAPIBaseResponse "success" @Failure 400 {string} string "error" @Failure 404 {string} string "error" @Failure 500 {object} goutils.RestAPIBaseResponse "error" @Router /v1/admin/alive [get]
func (APIRestJetStreamManagementHandler) AliveHandler ¶
func (h APIRestJetStreamManagementHandler) AliveHandler() http.HandlerFunc
AliveHandler Wrapper around Alive
func (APIRestJetStreamManagementHandler) ChangeStreamSubjects ¶
func (h APIRestJetStreamManagementHandler) ChangeStreamSubjects( w http.ResponseWriter, r *http.Request, )
ChangeStreamSubjects godoc @Summary Change subjects of a stream @Description Change the list of subjects of interest for a stream @tags Management @Accept json @Produce json @Param Httpmq-Request-ID header string false "User provided request ID to match against logs" @Param streamName path string true "JetStream stream name" @Param subjects body APIRestReqStreamSubjects true "List of new subjects" @Success 200 {object} goutils.RestAPIBaseResponse "success" @Failure 400 {object} goutils.RestAPIBaseResponse "error" @Failure 404 {string} string "error" @Failure 500 {object} goutils.RestAPIBaseResponse "error" @Header 200,400,500 {string} Httpmq-Request-ID "Request ID to match against logs" @Router /v1/admin/stream/{streamName}/subject [put]
func (APIRestJetStreamManagementHandler) ChangeStreamSubjectsHandler ¶
func (h APIRestJetStreamManagementHandler) ChangeStreamSubjectsHandler() http.HandlerFunc
ChangeStreamSubjectsHandler Wrapper around ChangeStreamSubjects
func (APIRestJetStreamManagementHandler) CreateConsumer ¶
func (h APIRestJetStreamManagementHandler) CreateConsumer(w http.ResponseWriter, r *http.Request)
CreateConsumer godoc @Summary Create a consumer on a stream @Description Create a new consumer on a stream. The stream must already be defined. @tags Management @Accept json @Produce json @Param Httpmq-Request-ID header string false "User provided request ID to match against logs" @Param streamName path string true "JetStream stream name" @Param consumerParam body management.JetStreamConsumerParam true "Consumer parameters" @Success 200 {object} goutils.RestAPIBaseResponse "success" @Failure 400 {object} goutils.RestAPIBaseResponse "error" @Failure 404 {string} string "error" @Failure 500 {object} goutils.RestAPIBaseResponse "error" @Header 200,400,500 {string} Httpmq-Request-ID "Request ID to match against logs" @Router /v1/admin/stream/{streamName}/consumer [post]
func (APIRestJetStreamManagementHandler) CreateConsumerHandler ¶
func (h APIRestJetStreamManagementHandler) CreateConsumerHandler() http.HandlerFunc
CreateConsumerHandler Wrapper around CreateConsumer
func (APIRestJetStreamManagementHandler) CreateStream ¶
func (h APIRestJetStreamManagementHandler) CreateStream(w http.ResponseWriter, r *http.Request)
CreateStream godoc @Summary Define new stream @Description Define new JetStream stream @tags Management @Accept json @Produce json @Param Httpmq-Request-ID header string false "User provided request ID to match against logs" @Param setting body management.JSStreamParam true "JetStream stream setting" @Success 200 {object} goutils.RestAPIBaseResponse "success" @Failure 400 {object} goutils.RestAPIBaseResponse "error" @Failure 404 {string} string "error" @Failure 500 {object} goutils.RestAPIBaseResponse "error" @Header 200,400,500 {string} Httpmq-Request-ID "Request ID to match against logs" @Router /v1/admin/stream [post]
func (APIRestJetStreamManagementHandler) CreateStreamHandler ¶
func (h APIRestJetStreamManagementHandler) CreateStreamHandler() http.HandlerFunc
CreateStreamHandler Wrapper around CreateStream
func (APIRestJetStreamManagementHandler) DeleteConsumer ¶
func (h APIRestJetStreamManagementHandler) DeleteConsumer(w http.ResponseWriter, r *http.Request)
DeleteConsumer godoc @Summary Delete one consumer of a stream @Description Delete one consumer of a stream @tags Management @Produce json @Param Httpmq-Request-ID header string false "User provided request ID to match against logs" @Param streamName path string true "JetStream stream name" @Param consumerName path string true "JetStream consumer name" @Success 200 {object} goutils.RestAPIBaseResponse "success" @Failure 400 {object} goutils.RestAPIBaseResponse "error" @Failure 404 {string} string "error" @Failure 500 {object} goutils.RestAPIBaseResponse "error" @Header 200,400,500 {string} Httpmq-Request-ID "Request ID to match against logs" @Router /v1/admin/stream/{streamName}/consumer/{consumerName} [delete]
func (APIRestJetStreamManagementHandler) DeleteConsumerHandler ¶
func (h APIRestJetStreamManagementHandler) DeleteConsumerHandler() http.HandlerFunc
DeleteConsumerHandler Wrapper around DeleteConsumer
func (APIRestJetStreamManagementHandler) DeleteStream ¶
func (h APIRestJetStreamManagementHandler) DeleteStream(w http.ResponseWriter, r *http.Request)
DeleteStream godoc @Summary Delete a stream @Description Delete a stream @tags Management @Produce json @Param Httpmq-Request-ID header string false "User provided request ID to match against logs" @Param streamName path string true "JetStream stream name" @Success 200 {object} goutils.RestAPIBaseResponse "success" @Failure 400 {object} goutils.RestAPIBaseResponse "error" @Failure 404 {string} string "error" @Failure 500 {object} goutils.RestAPIBaseResponse "error" @Header 200,400,500 {string} Httpmq-Request-ID "Request ID to match against logs" @Router /v1/admin/stream/{streamName} [delete]
func (APIRestJetStreamManagementHandler) DeleteStreamHandler ¶
func (h APIRestJetStreamManagementHandler) DeleteStreamHandler() http.HandlerFunc
DeleteStreamHandler Wrapper around DeleteStream
func (APIRestJetStreamManagementHandler) GetAllConsumers ¶
func (h APIRestJetStreamManagementHandler) GetAllConsumers( w http.ResponseWriter, r *http.Request, )
GetAllConsumers godoc @Summary Get all consumers of a stream @Description Query for the details of all consumers of a stream @tags Management @Produce json @Param Httpmq-Request-ID header string false "User provided request ID to match against logs" @Param streamName path string true "JetStream stream name" @Success 200 {object} APIRestRespAllJetStreamConsumers "success" @Failure 400 {object} goutils.RestAPIBaseResponse "error" @Failure 404 {string} string "error" @Failure 500 {object} goutils.RestAPIBaseResponse "error" @Header 200,400,500 {string} Httpmq-Request-ID "Request ID to match against logs" @Router /v1/admin/stream/{streamName}/consumer [get]
func (APIRestJetStreamManagementHandler) GetAllConsumersHandler ¶
func (h APIRestJetStreamManagementHandler) GetAllConsumersHandler() http.HandlerFunc
GetAllConsumersHandler Wrapper around GetAllConsumers
func (APIRestJetStreamManagementHandler) GetAllStreams ¶
func (h APIRestJetStreamManagementHandler) GetAllStreams(w http.ResponseWriter, r *http.Request)
GetAllStreams godoc @Summary Query for info on all streams @Description Query for the details of all streams @tags Management @Produce json @Param Httpmq-Request-ID header string false "User provided request ID to match against logs" @Success 200 {object} APIRestRespAllJetStreams "success" @Failure 400 {object} goutils.RestAPIBaseResponse "error" @Failure 404 {string} string "error" @Failure 500 {object} goutils.RestAPIBaseResponse "error" @Header 200,400,500 {string} Httpmq-Request-ID "Request ID to match against logs" @Router /v1/admin/stream [get]
func (APIRestJetStreamManagementHandler) GetAllStreamsHandler ¶
func (h APIRestJetStreamManagementHandler) GetAllStreamsHandler() http.HandlerFunc
GetAllStreamsHandler Wrapper around GetAllStreams
func (APIRestJetStreamManagementHandler) GetConsumer ¶
func (h APIRestJetStreamManagementHandler) GetConsumer(w http.ResponseWriter, r *http.Request)
GetConsumer godoc @Summary Get one consumer of a stream @Description Query for the details of a consumer on a stream @tags Management @Produce json @Param Httpmq-Request-ID header string false "User provided request ID to match against logs" @Param streamName path string true "JetStream stream name" @Param consumerName path string true "JetStream consumer name" @Success 200 {object} APIRestRespOneJetStreamConsumer "success" @Failure 400 {object} goutils.RestAPIBaseResponse "error" @Failure 404 {string} string "error" @Failure 500 {object} goutils.RestAPIBaseResponse "error" @Header 200,400,500 {string} Httpmq-Request-ID "Request ID to match against logs" @Router /v1/admin/stream/{streamName}/consumer/{consumerName} [get]
func (APIRestJetStreamManagementHandler) GetConsumerHandler ¶
func (h APIRestJetStreamManagementHandler) GetConsumerHandler() http.HandlerFunc
GetConsumerHandler Wrapper around GetConsumer
func (APIRestJetStreamManagementHandler) GetStream ¶
func (h APIRestJetStreamManagementHandler) GetStream(w http.ResponseWriter, r *http.Request)
GetStream godoc @Summary Query for info on one stream @Description Query for the details of one stream @tags Management @Produce json @Param Httpmq-Request-ID header string false "User provided request ID to match against logs" @Param streamName path string true "JetStream stream name" @Success 200 {object} APIRestRespOneJetStream "success" @Failure 400 {object} goutils.RestAPIBaseResponse "error" @Failure 404 {string} string "error" @Failure 500 {object} goutils.RestAPIBaseResponse "error" @Header 200,400,500 {string} Httpmq-Request-ID "Request ID to match against logs" @Router /v1/admin/stream/{streamName} [get]
func (APIRestJetStreamManagementHandler) GetStreamHandler ¶
func (h APIRestJetStreamManagementHandler) GetStreamHandler() http.HandlerFunc
GetStreamHandler Wrapper around GetStream
func (APIRestJetStreamManagementHandler) Ready ¶
func (h APIRestJetStreamManagementHandler) Ready(w http.ResponseWriter, r *http.Request)
Ready godoc @Summary For management REST API readiness check @Description Will return success if management REST API module is ready for use @tags Management @Produce json @Success 200 {object} goutils.RestAPIBaseResponse "success" @Failure 400 {string} string "error" @Failure 404 {string} string "error" @Failure 500 {object} goutils.RestAPIBaseResponse "error" @Router /v1/admin/ready [get]
func (APIRestJetStreamManagementHandler) ReadyHandler ¶
func (h APIRestJetStreamManagementHandler) ReadyHandler() http.HandlerFunc
ReadyHandler Wrapper around Alive
func (APIRestJetStreamManagementHandler) UpdateStreamLimits ¶
func (h APIRestJetStreamManagementHandler) UpdateStreamLimits( w http.ResponseWriter, r *http.Request, )
UpdateStreamLimits godoc @Summary Change limits a stream @Description Change the data retention limits of a stream @tags Management @Accept json @Produce json @Param Httpmq-Request-ID header string false "User provided request ID to match against logs" @Param streamName path string true "JetStream stream name" @Param limits body management.JSStreamLimits true "New stream limits" @Success 200 {object} goutils.RestAPIBaseResponse "success" @Failure 400 {object} goutils.RestAPIBaseResponse "error" @Failure 404 {string} string "error" @Failure 500 {object} goutils.RestAPIBaseResponse "error" @Header 200,400,500 {string} Httpmq-Request-ID "Request ID to match against logs" @Router /v1/admin/stream/{streamName}/limit [put]
func (APIRestJetStreamManagementHandler) UpdateStreamLimitsHandler ¶
func (h APIRestJetStreamManagementHandler) UpdateStreamLimitsHandler() http.HandlerFunc
UpdateStreamLimitsHandler Wrapper around UpdateStreamLimits
type APIRestReqStreamSubjects ¶
type APIRestReqStreamSubjects struct {
// Subjects the list of new subject this stream will listen to
Subjects []string `json:"subjects" validate:"required,min=1"`
}
APIRestReqStreamSubjects subject change parameters
type APIRestRespAllJetStreamConsumers ¶
type APIRestRespAllJetStreamConsumers struct {
goutils.RestAPIBaseResponse
// Consumers the set of consumer details mapped against consumer name
Consumers map[string]APIRestRespConsumerInfo `json:"consumers,omitempty"`
}
APIRestRespAllJetStreamConsumers response for listing all consumers
type APIRestRespAllJetStreams ¶
type APIRestRespAllJetStreams struct {
goutils.RestAPIBaseResponse
// Streams the set of stream details mapped against its names
Streams map[string]APIRestRespStreamInfo `json:"streams,omitempty"`
}
APIRestRespAllJetStreams response for listing all streams
type APIRestRespConsumerConfig ¶
type APIRestRespConsumerConfig struct {
// Description an optional description of the consumer
Description string `json:"notes,omitempty"`
// DeliverSubject subject this consumer is listening on
DeliverSubject string `json:"deliver_subject,omitempty"`
// DeliverGroup is the delivery group if this consumer uses delivery group
//
// A consumer using delivery group allows multiple clients to subscribe under the same consumer
// and group name tuple. For subjects this consumer listens to, the messages will be shared
// amongst the connected clients.
DeliverGroup string `json:"deliver_group,omitempty"`
// MaxDeliver max number of times a message can be deliveried (including retry) to this consumer
MaxDeliver int `json:"max_deliver,omitempty"`
// AckWait duration (ns) to wait for an ACK for the delivery of a message
AckWait time.Duration `json:"ack_wait" swaggertype:"primitive,integer" validate:"required"`
// FilterSubject sets the consumer to filter for subjects matching this NATs subject string
//
// See https://docs.nats.io/nats-concepts/subjects
FilterSubject string `json:"filter_subject,omitempty"`
// MaxWaiting NATS JetStream does not clearly document this
MaxWaiting int `json:"max_waiting,omitempty"`
// MaxAckPending controls the max number of un-ACKed messages permitted in-flight
MaxAckPending int `json:"max_ack_pending,omitempty"`
}
APIRestRespConsumerConfig adhoc structure for persenting nats.ConsumerConfig
type APIRestRespConsumerInfo ¶
type APIRestRespConsumerInfo struct {
// Stream is the name of the stream
Stream string `json:"stream_name" validate:"required"`
// Name is the name of the consumer
Name string `json:"name" validate:"required"`
// Created is when this consumer was defined
Created time.Time `json:"created" validate:"required"`
// Config are the consumer config parameters
Config APIRestRespConsumerConfig `json:"config" validate:"required"`
// Delivered is the sequence number of the last message delivered
Delivered APIRestRespSequenceInfo `json:"delivered" validate:"required"`
// AckFloor is the sequence number of the last received ACKed
//
// For messages which failed to be ACKed (retry limit reached), the floor moves up to
// include these message sequence numbers indicating these messages will not be retried.
AckFloor APIRestRespSequenceInfo `json:"ack_floor" validate:"required"`
// NumAckPending is the number of ACK pending / messages in-flight
NumAckPending int `json:"num_ack_pending" validate:"required"`
// NumRedelivered is the number of messages redelivered
NumRedelivered int `json:"num_redelivered" validate:"required"`
// NumWaiting NATS JetStream does not clearly document this
NumWaiting int `json:"num_waiting" validate:"required"`
// NumPending is the number of message to be delivered for this consumer
NumPending uint64 `json:"num_pending" validate:"required"`
}
APIRestRespConsumerInfo adhoc structure for persenting nats.ConsumerInfo
type APIRestRespDataMessage ¶
type APIRestRespDataMessage struct {
goutils.RestAPIBaseResponse
dataplane.MsgToDeliver
}
APIRestRespDataMessage wrapper object for one message from a stream
type APIRestRespOneJetStream ¶
type APIRestRespOneJetStream struct {
goutils.RestAPIBaseResponse
// Stream the details for this stream
Stream APIRestRespStreamInfo `json:"stream,omitempty"`
}
APIRestRespOneJetStream response for listing one stream
type APIRestRespOneJetStreamConsumer ¶
type APIRestRespOneJetStreamConsumer struct {
goutils.RestAPIBaseResponse
// Consumer the details regarding this consumer
Consumer APIRestRespConsumerInfo `json:"consumer,omitempty"`
}
APIRestRespOneJetStreamConsumer response for listing one consumer
type APIRestRespSequenceInfo ¶
type APIRestRespSequenceInfo struct {
// Consumer is consumer level sequence number
Consumer uint64 `json:"consumer_seq" validate:"required"`
// Stream is stream level sequence number
Stream uint64 `json:"stream_seq" validate:"required"`
// Last timestamp when these values updated
Last *time.Time `json:"last_active,omitempty"`
}
APIRestRespSequenceInfo adhoc structure for persenting nats.SequenceInfo
type APIRestRespStreamConfig ¶
type APIRestRespStreamConfig struct {
// Name is the stream name
Name string `json:"name" validate:"required"`
// Description is an optional description of the stream
Description string `json:"description,omitempty"`
// Subjects is the list subjects this stream is listening on
Subjects []string `json:"subjects,omitempty"`
// MaxConsumers is the max number of consumers allowed on the stream
MaxConsumers int `json:"max_consumers" validate:"required"`
// MaxMsgs is the max number of messages the stream will store.
//
// Oldest messages are removed once limit breached.
MaxMsgs int64 `json:"max_msgs" validate:"required"`
// MaxBytes is the max number of message bytes the stream will store.
//
// Oldest messages are removed once limit breached.
MaxBytes int64 `json:"max_bytes" validate:"required"`
// MaxBytes is the max duration (ns) the stream will store a message
//
// Messages breaching the limit will be removed.
MaxAge time.Duration `json:"max_age" swaggertype:"primitive,integer" validate:"required"`
// MaxMsgsPerSubject is the maximum number of subjects allowed on this stream
MaxMsgsPerSubject int64 `json:"max_msgs_per_subject" validate:"required"`
// MaxMsgSize is the max size of a message allowed in this stream
MaxMsgSize int32 `json:"max_msg_size,omitempty"`
}
APIRestRespStreamConfig adhoc structure for persenting nats.StreamConfig
type APIRestRespStreamInfo ¶
type APIRestRespStreamInfo struct {
// Config is the stream config parameters
Config APIRestRespStreamConfig `json:"config" validate:"required"`
// Created is the stream creation timestamp
Created time.Time `json:"created" validate:"required"`
// State is the stream current state
State APIRestRespStreamState `json:"state" validate:"required"`
}
APIRestRespStreamInfo adhoc structure for persenting nats.StreamInfo
type APIRestRespStreamState ¶
type APIRestRespStreamState struct {
// Msgs is the number of messages in the stream
Msgs uint64 `json:"messages" validate:"required"`
// Bytes is the number of message bytes in the stream
Bytes uint64 `json:"bytes" validate:"required"`
// FirstSeq is the oldest message sequence number on the stream
FirstSeq uint64 `json:"first_seq" validate:"required"`
// FirstTime is the oldest message timestamp on the stream
FirstTime time.Time `json:"first_ts" validate:"required"`
// LastSeq is the newest message sequence number on the stream
LastSeq uint64 `json:"last_seq" validate:"required"`
// LastTime is the newest message timestamp on the stream
LastTime time.Time `json:"last_ts" validate:"required"`
// Consumers number of consumers on the stream
Consumers int `json:"consumer_count" validate:"required"`
}
APIRestRespStreamState adhoc structure for persenting nats.StreamState
type MethodHandlers ¶
type MethodHandlers map[string]http.HandlerFunc
MethodHandlers DICT of method-endpoint handler