Documentation
¶
Index ¶
- Variables
- func ConfigureAPI(httpConfig config.HTTPConfig, iListener ServerLifecycleListener, ...) *http.Server
- func NewRouter(controllers *Controllers) *httprouter.Router
- type AppData
- type BroadcastController
- type ChannelController
- func (channelController *ChannelController) FormatAsRelativeLink(params ...httprouter.Param) string
- func (channelController *ChannelController) Get(w http.ResponseWriter, r *http.Request, param httprouter.Params)
- func (channelController *ChannelController) GetPath() string
- func (channelController *ChannelController) Put(w http.ResponseWriter, r *http.Request, param httprouter.Params)
- type ChannelModel
- type ChannelsController
- type ConsumerController
- func (controller *ConsumerController) Delete(w http.ResponseWriter, r *http.Request, params httprouter.Params)
- func (controller *ConsumerController) FormatAsRelativeLink(params ...httprouter.Param) (result string)
- func (controller *ConsumerController) Get(w http.ResponseWriter, r *http.Request, params httprouter.Params)
- func (controller *ConsumerController) GetPath() string
- func (controller *ConsumerController) Put(w http.ResponseWriter, r *http.Request, params httprouter.Params)
- type ConsumerModel
- type ConsumersController
- type Controllers
- type DLQController
- func (controller *DLQController) FormatAsRelativeLink(params ...httprouter.Param) (result string)
- func (controller *DLQController) Get(w http.ResponseWriter, r *http.Request, params httprouter.Params)
- func (controller *DLQController) GetPath() string
- func (controller *DLQController) Post(w http.ResponseWriter, r *http.Request, params httprouter.Params)
- type DLQList
- type DeadDeliveryJobModel
- type Delete
- type DeliveryJobModel
- type EndpointController
- type Get
- type HyperlinkedDeliveryJobModel
- type JobController
- func (controller *JobController) FormatAsRelativeLink(params ...httprouter.Param) (result string)
- func (controller *JobController) Get(w http.ResponseWriter, r *http.Request, params httprouter.Params)
- func (controller *JobController) GetPath() string
- func (controller *JobController) Post(w http.ResponseWriter, r *http.Request, params httprouter.Params)
- type JobListResult
- type JobRequeueController
- type JobStatusController
- type JobsController
- type ListResult
- type MessageController
- type MessageModel
- type MessagesController
- type MessagesStatusController
- func (messagesStatusController *MessagesStatusController) FormatAsRelativeLink(params ...httprouter.Param) string
- func (messagesStatusController *MessagesStatusController) Get(w http.ResponseWriter, r *http.Request, param httprouter.Params)
- func (messagesStatusController *MessagesStatusController) GetPath() string
- type MsgStakeholder
- type Post
- type ProducerController
- func (prodController *ProducerController) FormatAsRelativeLink(params ...httprouter.Param) string
- func (prodController *ProducerController) Get(w http.ResponseWriter, r *http.Request, param httprouter.Params)
- func (prodController *ProducerController) GetPath() string
- func (prodController *ProducerController) Put(w http.ResponseWriter, r *http.Request, param httprouter.Params)
- type ProducersController
- type Put
- type QeuedMessageModel
- type QueuedDeliveryJobModel
- type ServerLifecycleListener
- type StatusController
- type StatusCount
- type TheCount
Constants ¶
This section is empty.
Variables ¶
var ( // ControllerInjector for binding controllers ControllerInjector = wire.NewSet(ConfigureAPI, NewRouter, NewStatusController, NewProducersController, NewProducerController, NewChannelController, NewChannelsController, NewConsumerController, NewConsumersController, NewJobsController, NewJobController, NewBroadcastController, NewMessageController, NewMessagesController, NewMessagesStatusController, NewDLQController, NewJobRequeueController, NewJobStatusController, wire.Struct(new(Controllers), "StatusController", "ProducersController", "ProducerController", "ChannelController", "ConsumerController", "ConsumersController", "JobsController", "JobController", "BroadcastController", "MessageController", "MessagesController", "DLQController", "ChannelsController", "MessagesStatusController", "JobRequeueController", "JobStatusController", "MetricsHandler")) // ErrUnsupportedMediaType is returned when client does not provide appropriate `Content-Type` header ErrUnsupportedMediaType = errors.New("Media type not supported") // ErrConditionalFailed is returned when update is missing `If-Unmodified-Since` header ErrConditionalFailed = errors.New("Update failed due to mismatch of `If-Unmodified-Since` header value") // ErrNotFound is returned when resource is not found ErrNotFound = errors.New("Request resource not found") // ErrBadRequest is returned when protocol for a PUT/POST/DELETE request is not met ErrBadRequest = errors.New("Bad Request: Update is missing `If-Unmodified-Since` header ") // ErrBadRequestForRequeue is returned when requeue form param does not match consumer token ErrBadRequestForRequeue = errors.New("`requeue` form param must match consumer token") )
var NotifyOnInterrupt = func(stop *chan os.Signal) { signal.Notify(*stop, os.Interrupt, os.Kill, syscall.SIGTERM) }
NotifyOnInterrupt registers channel to get notified when interrupt is captured
Functions ¶
func ConfigureAPI ¶
func ConfigureAPI(httpConfig config.HTTPConfig, iListener ServerLifecycleListener, apiRouter *httprouter.Router) *http.Server
ConfigureAPI configures API Server with interrupt handling
func NewRouter ¶
func NewRouter(controllers *Controllers) *httprouter.Router
NewRouter returns a new instance of the router
Types ¶
type BroadcastController ¶
type BroadcastController struct {
MessageRepository storage.MessageRepository
ChannelRepository storage.ChannelRepository
ProducerRepository storage.ProducerRepository
Dispatcher dispatcher.MessageDispatcher
}
BroadcastController receives new Message to broadcasted to a valid channel
func NewBroadcastController ¶
func NewBroadcastController(channelRepo storage.ChannelRepository, msgRepo storage.MessageRepository, producerRepo storage.ProducerRepository, dispatcher dispatcher.MessageDispatcher) *BroadcastController
NewBroadcastController creates a new instance of the controller responsible for broadcasting a message
func (*BroadcastController) FormatAsRelativeLink ¶
func (broadcastController *BroadcastController) FormatAsRelativeLink(params ...httprouter.Param) string
FormatAsRelativeLink Format as relative URL of this resource based on the params
func (*BroadcastController) GetPath ¶
func (broadcastController *BroadcastController) GetPath() string
GetPath returns the endpoint's path
func (*BroadcastController) Post ¶
func (broadcastController *BroadcastController) Post(w http.ResponseWriter, r *http.Request, params httprouter.Params)
Post Receives message to be broadcasted to a channel
type ChannelController ¶
type ChannelController struct {
ChannelRepo storage.ChannelRepository
ConsumersEndpoint EndpointController
MessagesEndpoint EndpointController
BroadcastEndpoint EndpointController
MessagesStatusEndpoint EndpointController
}
ChannelController is for /channel/:prodId
func NewChannelController ¶
func NewChannelController(consumersController *ConsumersController, messagesController *MessagesController, broadcastController *BroadcastController, messagesStatusController *MessagesStatusController, channelRepo storage.ChannelRepository) *ChannelController
NewChannelController initialize new channels controller
func (*ChannelController) FormatAsRelativeLink ¶
func (channelController *ChannelController) FormatAsRelativeLink(params ...httprouter.Param) string
FormatAsRelativeLink Format as relative URL of this resource based on the params
func (*ChannelController) Get ¶
func (channelController *ChannelController) Get(w http.ResponseWriter, r *http.Request, param httprouter.Params)
Get implements the /channel/:prodId GET endpoint
func (*ChannelController) GetPath ¶
func (channelController *ChannelController) GetPath() string
GetPath returns the endpoint's path
func (*ChannelController) Put ¶
func (channelController *ChannelController) Put(w http.ResponseWriter, r *http.Request, param httprouter.Params)
Put implements the /channel/:prodId PUT endpoint
type ChannelModel ¶
type ChannelModel struct {
MsgStakeholder
ConsumersURL string
MessagesURL string
BroadcastURL string
MessagesStatusURL string
}
ChannelModel represents the Channel data
type ChannelsController ¶
type ChannelsController struct {
ChannelRepo storage.ChannelRepository
ChannelEndpoint EndpointController
}
ChannelsController for handling `/channels` endpoint
func NewChannelsController ¶
func NewChannelsController(channelRepo storage.ChannelRepository, channelController *ChannelController) *ChannelsController
NewChannelsController initialize new channels controller
func (*ChannelsController) FormatAsRelativeLink ¶
func (channelsController *ChannelsController) FormatAsRelativeLink(params ...httprouter.Param) string
FormatAsRelativeLink Format as relative URL of this resource based on the params
func (*ChannelsController) Get ¶
func (channelsController *ChannelsController) Get(w http.ResponseWriter, r *http.Request, _ httprouter.Params)
Get implements the /channels endpoint
func (*ChannelsController) GetPath ¶
func (channelsController *ChannelsController) GetPath() string
GetPath returns the endpoint's path
type ConsumerController ¶
type ConsumerController struct {
ConsumerRepo storage.ConsumerRepository
ChannelRepo storage.ChannelRepository
DLQEndpoint EndpointController
}
ConsumerController represents all endpoints related to a single consumer for a channel
func NewConsumerController ¶
func NewConsumerController(channelRepo storage.ChannelRepository, consumerRepo storage.ConsumerRepository, DLQController *DLQController) *ConsumerController
NewConsumerController creates and returns a new instance of ConsumerController
func (*ConsumerController) Delete ¶
func (controller *ConsumerController) Delete(w http.ResponseWriter, r *http.Request, params httprouter.Params)
Delete implements the DELETE /channel/:channelId/consumer/:consumerId endpoint
func (*ConsumerController) FormatAsRelativeLink ¶
func (controller *ConsumerController) FormatAsRelativeLink(params ...httprouter.Param) (result string)
FormatAsRelativeLink formats this controllers URL with the parameters provided. Both `consumerId` and `channelId` params must be sent else it will return the templated URL
func (*ConsumerController) Get ¶
func (controller *ConsumerController) Get(w http.ResponseWriter, r *http.Request, params httprouter.Params)
Get implements the GET /channel/:channelId/consumer/:consumerId endpoint
func (*ConsumerController) GetPath ¶
func (controller *ConsumerController) GetPath() string
GetPath returns the endpoint's path
func (*ConsumerController) Put ¶
func (controller *ConsumerController) Put(w http.ResponseWriter, r *http.Request, params httprouter.Params)
Put implements the PUT /channel/:channelId/consumer/:consumerId endpoint
type ConsumerModel ¶
type ConsumerModel struct {
MsgStakeholder
CallbackURL string
DeadLetterQueueURL string
Type string
}
ConsumerModel represents the data communicated to HTTP clients
type ConsumersController ¶
type ConsumersController struct {
ConsumerRepo storage.ConsumerRepository
ConsumerEndpoint EndpointController
}
ConsumersController represents all endpoints related to a consumers list for a channel
func NewConsumersController ¶
func NewConsumersController(consumerEndpoint *ConsumerController, consumerRepo storage.ConsumerRepository) *ConsumersController
NewConsumersController creates and returns a new instance of ConsumersController
func (*ConsumersController) FormatAsRelativeLink ¶
func (controller *ConsumersController) FormatAsRelativeLink(params ...httprouter.Param) string
FormatAsRelativeLink formats this controllers URL with the parameters provided. Both `consumerId` and `channelId` params must be sent else it will return the templated URL
func (*ConsumersController) Get ¶
func (controller *ConsumersController) Get(w http.ResponseWriter, r *http.Request, params httprouter.Params)
Get implements the GET /channel/:channelId/consumers endpoint
func (*ConsumersController) GetPath ¶
func (controller *ConsumersController) GetPath() string
GetPath returns the endpoint's path
type Controllers ¶
type Controllers struct {
StatusController *StatusController
ProducersController *ProducersController
ProducerController *ProducerController
ChannelController *ChannelController
ChannelsController *ChannelsController
ConsumerController *ConsumerController
ConsumersController *ConsumersController
JobsController *JobsController
JobController *JobController
BroadcastController *BroadcastController
MessageController *MessageController
MessagesController *MessagesController
DLQController *DLQController
MessagesStatusController *MessagesStatusController
JobRequeueController *JobRequeueController
JobStatusController *JobStatusController
MetricsHandler http.Handler
}
Controllers represents factory object containing all the controllers
type DLQController ¶
type DLQController struct {
MessageController EndpointController
DeliveryJobRepo storage.DeliveryJobRepository
ConsumerRepo storage.ConsumerRepository
JobRequeueController EndpointController
}
DLQController represents the GET and POST endpoint for reading dead and requeuing all dead messages for delivery.
func NewDLQController ¶
func NewDLQController(msgController *MessageController, jobRequeueController *JobRequeueController, djRepo storage.DeliveryJobRepository, consumerRepo storage.ConsumerRepository) *DLQController
NewDLQController retrieves the controller for DLQ list and requeue endpoints
func (*DLQController) FormatAsRelativeLink ¶
func (controller *DLQController) FormatAsRelativeLink(params ...httprouter.Param) (result string)
FormatAsRelativeLink formats this controllers URL with the parameters provided. Both `consumerId` and `channelId` params must be sent else it will return the templated URL
func (*DLQController) Get ¶
func (controller *DLQController) Get(w http.ResponseWriter, r *http.Request, params httprouter.Params)
Get Retrieves dead jobs for a specific consumer
func (*DLQController) GetPath ¶
func (controller *DLQController) GetPath() string
GetPath returns the endpoint's path
func (*DLQController) Post ¶
func (controller *DLQController) Post(w http.ResponseWriter, r *http.Request, params httprouter.Params)
Post Requeue dead jobs for another single delivery attempt
type DLQList ¶
type DLQList struct {
DeadJobs []*DeadDeliveryJobModel
Pages map[string]string
}
DLQList represents the list of jobs that are dead
type DeadDeliveryJobModel ¶
type DeadDeliveryJobModel struct {
DeliveryJobModel
MessageURL string
JobRequeueURL string
}
DeadDeliveryJobModel is a DeliveryJobModel with reference to its message and to be used for DLQ
type Delete ¶
type Delete interface {
Delete(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
}
Delete represents DELETE Method Call to a resource
type DeliveryJobModel ¶
type DeliveryJobModel struct {
ListenerEndpoint string
ListenerName string
Status string
StatusChangedAt time.Time
}
DeliveryJobModel represents a delivery job of a message
type EndpointController ¶
type EndpointController interface {
GetPath() string
FormatAsRelativeLink(params ...httprouter.Param) string
}
EndpointController represents very basic functionality of an endpoint
type Get ¶
type Get interface {
Get(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
}
Get represents GET Method Call to a resource
type JobController ¶
type JobController struct {
MsgController EndpointController
ChannelController EndpointController
ProducerController EndpointController
ConsumerController EndpointController
ChannelRepo storage.ChannelRepository
ConsumerRepo storage.ConsumerRepository
DeliveryJobRepo storage.DeliveryJobRepository
}
JobController represents all endpoints related to a single job for a consumer
func NewJobController ¶
func NewJobController(msgController *MessageController, channelController *ChannelController, producerController *ProducerController, consumerController *ConsumerController, channelRepo storage.ChannelRepository, consumerRepo storage.ConsumerRepository, deliveryJobRepo storage.DeliveryJobRepository) *JobController
NewJobController creates and returns a new instance of JobController
func (*JobController) FormatAsRelativeLink ¶
func (controller *JobController) FormatAsRelativeLink(params ...httprouter.Param) (result string)
FormatAsRelativeLink formats this controllers URL with the parameters provided. All of `consumerId`, `channelId` and `jobId` params must be sent else it will return the templated URL
func (*JobController) Get ¶
func (controller *JobController) Get(w http.ResponseWriter, r *http.Request, params httprouter.Params)
Get implements the GET /channel/:channelId/consumer/:consumerId/job/:jobId endpoint
func (*JobController) GetPath ¶
func (controller *JobController) GetPath() string
GetPath returns the endpoint's path
func (*JobController) Post ¶
func (controller *JobController) Post(w http.ResponseWriter, r *http.Request, params httprouter.Params)
Post implements the POST /channel/:channelId/consumer/:consumerId/job/:jobId endpoint
type JobListResult ¶
type JobListResult struct {
Result []*QueuedDeliveryJobModel
}
type JobRequeueController ¶
type JobRequeueController struct {
DeliveryJobRepo storage.DeliveryJobRepository
ChannelRepo storage.ChannelRepository
ConsumerRepo storage.ConsumerRepository
}
func NewJobRequeueController ¶
func NewJobRequeueController(deliveryJobRepo storage.DeliveryJobRepository, channelRepo storage.ChannelRepository, consumerRepo storage.ConsumerRepository) *JobRequeueController
NewJobRequeueController creates and returns a new instance of JobRequeueController
func (*JobRequeueController) FormatAsRelativeLink ¶
func (controller *JobRequeueController) FormatAsRelativeLink(params ...httprouter.Param) string
FormatAsRelativeLink Format as relative URL of this resource based on the params
func (*JobRequeueController) GetPath ¶
func (controller *JobRequeueController) GetPath() string
GetPath returns the endpoint's path
func (*JobRequeueController) Post ¶
func (controller *JobRequeueController) Post(w http.ResponseWriter, r *http.Request, params httprouter.Params)
Post implements the POST /channel/:channelId/consumer/:consumerId/job/:jobId/requeue-dead-job
type JobStatusController ¶
type JobStatusController struct {
DeliveryJobRepo storage.DeliveryJobRepository
}
func NewJobStatusController ¶
func NewJobStatusController(deliveryJobRepo storage.DeliveryJobRepository) *JobStatusController
NewJobStatusController Factory for new JobStatusController
func (*JobStatusController) FormatAsRelativeLink ¶
func (cont *JobStatusController) FormatAsRelativeLink(params ...httprouter.Param) string
FormatAsRelativeLink Format as relative URL of this resource based on the params
func (*JobStatusController) Get ¶
func (cont *JobStatusController) Get(w http.ResponseWriter, r *http.Request, _ httprouter.Params)
Get is the GET /job-status endpoint controller
func (*JobStatusController) GetPath ¶
func (cont *JobStatusController) GetPath() string
GetPath returns the endpoint path
type JobsController ¶
type JobsController struct {
ChannelRepo storage.ChannelRepository
ConsumerRepo storage.ConsumerRepository
DeliveryJobRepo storage.DeliveryJobRepository
}
JobsController represents all endpoints related to the queued jobs for a consumer of a channel
func NewJobsController ¶
func NewJobsController(channelRepo storage.ChannelRepository, consumerRepo storage.ConsumerRepository, deliveryJobRepo storage.DeliveryJobRepository) *JobsController
NewJobsController creates and returns a new instance of JobsController
func (*JobsController) FormatAsRelativeLink ¶
func (controller *JobsController) FormatAsRelativeLink(params ...httprouter.Param) string
FormatAsRelativeLink formats this controllers URL with the parameters provided. Both `consumerId` and `channelId` params must be sent else it will return the templated URL
func (*JobsController) Get ¶
func (controller *JobsController) Get(w http.ResponseWriter, r *http.Request, params httprouter.Params)
Get implements the GET /channel/:channelId/consumer/:consumerId/queued-jobs endpoint
func (*JobsController) GetPath ¶
func (controller *JobsController) GetPath() string
GetPath returns the endpoint's path
type ListResult ¶
ListResult is the resource returned by /producers endpoint
type MessageController ¶
type MessageController struct {
MessageRepo storage.MessageRepository
DeliveryJobRepo storage.DeliveryJobRepository
}
MessageController represents the GET endpoint for a single message broadcasted to a channel
func NewMessageController ¶
func NewMessageController(msgRepo storage.MessageRepository, djRepo storage.DeliveryJobRepository) *MessageController
NewMessageController initializes the message controller
func (*MessageController) FormatAsRelativeLink ¶
func (messageController *MessageController) FormatAsRelativeLink(params ...httprouter.Param) string
FormatAsRelativeLink Format as relative URL of this resource based on the params
func (*MessageController) Get ¶
func (messageController *MessageController) Get(w http.ResponseWriter, r *http.Request, param httprouter.Params)
Get implements GET /channel/:channelId/message/:messageId
func (*MessageController) GetPath ¶
func (messageController *MessageController) GetPath() string
GetPath returns the endpoint's path
type MessageModel ¶
type MessageModel struct {
ID string
Payload string
ContentType string
ProducedBy string
ReceivedAt time.Time
DispatchedAt time.Time
Status string
Jobs []*DeliveryJobModel
Headers data.HeadersMap
}
MessageModel represents a single message
type MessagesController ¶
type MessagesController struct {
MessageController EndpointController
MessageRepo storage.MessageRepository
}
MessagesController represents the GET endpoint for listing all messages broadcasted to a channel
func NewMessagesController ¶
func NewMessagesController(msgController *MessageController, msgRepo storage.MessageRepository) *MessagesController
NewMessagesController initializes the controller for messages in a channel
func (*MessagesController) FormatAsRelativeLink ¶
func (messagesController *MessagesController) FormatAsRelativeLink(params ...httprouter.Param) string
FormatAsRelativeLink Format as relative URL of this resource based on the params
func (*MessagesController) Get ¶
func (messagesController *MessagesController) Get(w http.ResponseWriter, r *http.Request, param httprouter.Params)
Get implements GET /channel/:channelId/messages
func (*MessagesController) GetPath ¶
func (messagesController *MessagesController) GetPath() string
GetPath returns the endpoint's path
type MessagesStatusController ¶
type MessagesStatusController struct {
MessagesController EndpointController
MessageRepo storage.MessageRepository
}
func NewMessagesStatusController ¶
func NewMessagesStatusController(msgsController *MessagesController, msgRepo storage.MessageRepository) *MessagesStatusController
NewMessagesStatusController initializes the controller for messages in a channel
func (*MessagesStatusController) FormatAsRelativeLink ¶
func (messagesStatusController *MessagesStatusController) FormatAsRelativeLink(params ...httprouter.Param) string
FormatAsRelativeLink Format as relative URL of this resource based on the params
func (*MessagesStatusController) Get ¶
func (messagesStatusController *MessagesStatusController) Get(w http.ResponseWriter, r *http.Request, param httprouter.Params)
Get implements GET /channel/:channelId/messages-status
func (*MessagesStatusController) GetPath ¶
func (messagesStatusController *MessagesStatusController) GetPath() string
GetPath returns the endpoint's path
type MsgStakeholder ¶
MsgStakeholder is the
func (*MsgStakeholder) GetLastUpdatedHTTPTimeString ¶
func (stakeholder *MsgStakeholder) GetLastUpdatedHTTPTimeString() string
GetLastUpdatedHTTPTimeString exposes the string rep of the last modified timestamp for the object
type Post ¶
type Post interface {
Post(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
}
Post represents POST Method Call to a resource
type ProducerController ¶
type ProducerController struct {
ProducerRepo storage.ProducerRepository
}
ProducerController is for /producer/:prodId
func NewProducerController ¶
func NewProducerController(producerRepo storage.ProducerRepository) *ProducerController
NewProducerController initialize new producers controller
func (*ProducerController) FormatAsRelativeLink ¶
func (prodController *ProducerController) FormatAsRelativeLink(params ...httprouter.Param) string
FormatAsRelativeLink Format as relative URL of this resource based on the params
func (*ProducerController) Get ¶
func (prodController *ProducerController) Get(w http.ResponseWriter, r *http.Request, param httprouter.Params)
Get implements the /producer/:prodId GET endpoint
func (*ProducerController) GetPath ¶
func (prodController *ProducerController) GetPath() string
GetPath returns the endpoint's path
func (*ProducerController) Put ¶
func (prodController *ProducerController) Put(w http.ResponseWriter, r *http.Request, param httprouter.Params)
Put implements the /producer/:prodId PUT endpoint
type ProducersController ¶
type ProducersController struct {
ProducerRepo storage.ProducerRepository
ProducerEndpoint EndpointController
}
ProducersController for handling `/producers` endpoint
func NewProducersController ¶
func NewProducersController(producerRepo storage.ProducerRepository, producerController *ProducerController) *ProducersController
NewProducersController initialize new producers controller
func (*ProducersController) FormatAsRelativeLink ¶
func (prodController *ProducersController) FormatAsRelativeLink(params ...httprouter.Param) string
FormatAsRelativeLink Format as relative URL of this resource based on the params
func (*ProducersController) Get ¶
func (prodController *ProducersController) Get(w http.ResponseWriter, r *http.Request, _ httprouter.Params)
Get implements the /producers endpoint
func (*ProducersController) GetPath ¶
func (prodController *ProducersController) GetPath() string
GetPath returns the endpoint's path
type Put ¶
type Put interface {
Put(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
}
Put represents PUT Method Call to a resource
type QeuedMessageModel ¶
type QeuedMessageModel struct {
MessageID string
Payload string
Headers data.HeadersMap
ContentType string
}
type QueuedDeliveryJobModel ¶
type QueuedDeliveryJobModel struct {
ID xid.ID
Priority uint
IncrementalTimeout uint // in second
Message *QeuedMessageModel
}
type ServerLifecycleListener ¶
type ServerLifecycleListener interface {
StartingServer()
ServerStartFailed(err error)
ServerShutdownCompleted()
}
ServerLifecycleListener listens to key server lifecycle error
type StatusController ¶
type StatusController struct {
// contains filtered or unexported fields
}
StatusController is the controller for `/_status` endpoint
func NewStatusController ¶
func NewStatusController(appRepo storage.AppRepository) *StatusController
NewStatusController Factory for new StatusController
func (*StatusController) FormatAsRelativeLink ¶
func (cont *StatusController) FormatAsRelativeLink(params ...httprouter.Param) string
FormatAsRelativeLink Format as relative URL of this resource based on the params
func (*StatusController) Get ¶
func (cont *StatusController) Get(w http.ResponseWriter, r *http.Request, _ httprouter.Params)
Get is the GET /_status endpoint controller
func (*StatusController) GetPath ¶
func (cont *StatusController) GetPath() string
GetPath returns the endpoint path