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