Documentation
¶
Overview ¶
Package "issue148" provides primitives to interact with the AsyncAPI specification.
Code generated by github.com/akmalsyrf/asyncapi-codegen version (devel) DO NOT EDIT.
Index ¶
- Constants
- Variables
- type AppController
- func (c *AppController) Close(ctx context.Context)
- func (c *AppController) ReplyToGetServiceInfoOperation(ctx context.Context, recvMsg RequestMessageFromReceptionChannel, ...) error
- func (c *AppController) SendAsReplyToGetServiceInfoOperation(ctx context.Context, chanAddr string, msg ReplyMessageFromReplyChannel) error
- func (c *AppController) SubscribeToAllChannels(ctx context.Context, as AppSubscriber) error
- func (c *AppController) SubscribeToGetServiceInfoOperation(ctx context.Context, ...) error
- func (c *AppController) UnsubscribeFromAllChannels(ctx context.Context)
- func (c *AppController) UnsubscribeFromGetServiceInfoOperation(ctx context.Context)
- type AppSubscriber
- type ControllerOption
- type Error
- type HeadersFromRequestMessageFromReceptionChannel
- type MessageWithCorrelationID
- type ReplyMessageFromReplyChannel
- type RequestMessageFromReceptionChannel
- type UserController
- func (c *UserController) Close(ctx context.Context)
- func (c *UserController) RequestToGetServiceInfoOperation(ctx context.Context, msg RequestMessageFromReceptionChannel) (ReplyMessageFromReplyChannel, error)
- func (c *UserController) SendToGetServiceInfoOperation(ctx context.Context, msg RequestMessageFromReceptionChannel) error
Constants ¶
const ( // ReceptionChannelPath is the constant representing the 'ReceptionChannel' channel path. ReceptionChannelPath = "v3.issue148.reception" // ReplyChannelPath is the constant representing the 'ReplyChannel' channel path. ReplyChannelPath = "" )
const AsyncAPIVersion = ""
AsyncAPIVersion is the version of the used AsyncAPI document
Variables ¶
var ChannelsPaths = []string{ ReceptionChannelPath, ReplyChannelPath, }
ChannelsPaths is an array of all channels paths
Functions ¶
This section is empty.
Types ¶
type AppController ¶
type AppController struct {
// contains filtered or unexported fields
}
AppController is the structure that provides sending capabilities to the developer and and connect the broker with the App
func NewAppController ¶
func NewAppController(bc extensions.BrokerController, options ...ControllerOption) (*AppController, error)
NewAppController links the App to the broker
func (*AppController) Close ¶
func (c *AppController) Close(ctx context.Context)
Close will clean up any existing resources on the controller
func (*AppController) ReplyToGetServiceInfoOperation ¶
func (c *AppController) ReplyToGetServiceInfoOperation(ctx context.Context, recvMsg RequestMessageFromReceptionChannel, fn func(replyMsg *ReplyMessageFromReplyChannel)) error
ReplyToGetServiceInfoOperation is a helper function to reply to a RequestMessageFromReceptionChannel message with a ReplyMessageFromReplyChannel message on Reply channel.
func (*AppController) SendAsReplyToGetServiceInfoOperation ¶
func (c *AppController) SendAsReplyToGetServiceInfoOperation( ctx context.Context, chanAddr string, msg ReplyMessageFromReplyChannel, ) error
SendAsReplyToGetServiceInfoOperation will send a ReplyMessageFromReplyChannel message on Reply channel.
NOTE: for now, this only support the first message from AsyncAPI list. If you need support for other messages, please raise an issue.
func (*AppController) SubscribeToAllChannels ¶
func (c *AppController) SubscribeToAllChannels(ctx context.Context, as AppSubscriber) error
SubscribeToAllChannels will receive messages from channels where channel has no parameter on which the app is expecting messages. For channels with parameters, they should be subscribed independently.
func (*AppController) SubscribeToGetServiceInfoOperation ¶
func (c *AppController) SubscribeToGetServiceInfoOperation( ctx context.Context, fn func(ctx context.Context, msg RequestMessageFromReceptionChannel) error, ) error
SubscribeToGetServiceInfoOperation will receive RequestMessageFromReceptionChannel messages from Reception channel.
Callback function 'fn' will be called each time a new message is received.
NOTE: for now, this only support the first message from AsyncAPI list.
NOTE: for now, this only support the first message from AsyncAPI list. If you need support for other messages, please raise an issue.
func (*AppController) UnsubscribeFromAllChannels ¶
func (c *AppController) UnsubscribeFromAllChannels(ctx context.Context)
UnsubscribeFromAllChannels will stop the subscription of all remaining subscribed channels
func (*AppController) UnsubscribeFromGetServiceInfoOperation ¶
func (c *AppController) UnsubscribeFromGetServiceInfoOperation( ctx context.Context, )
UnsubscribeFromGetServiceInfoOperation will stop the reception of RequestMessageFromReceptionChannel messages from Reception channel. A timeout can be set in context to avoid blocking operation, if needed.
type AppSubscriber ¶
type AppSubscriber interface {
// GetServiceInfoOperationReceived receive all RequestMessageFromReceptionChannel messages from Reception channel.
GetServiceInfoOperationReceived(ctx context.Context, msg RequestMessageFromReceptionChannel) error
}
AppSubscriber contains all handlers that are listening messages for App
type ControllerOption ¶
type ControllerOption func(controller *controller)
ControllerOption is the type of the options that can be passed when creating a new Controller
func WithErrorHandler ¶
func WithErrorHandler(handler extensions.ErrorHandler) ControllerOption
WithErrorHandler attaches a errorhandler to handle errors from subscriber functions
func WithLogger ¶
func WithLogger(logger extensions.Logger) ControllerOption
WithLogger attaches a logger to the controller
func WithMiddlewares ¶
func WithMiddlewares(middlewares ...extensions.Middleware) ControllerOption
WithMiddlewares attaches middlewares that will be executed when sending or receiving messages
type HeadersFromRequestMessageFromReceptionChannel ¶
type HeadersFromRequestMessageFromReceptionChannel struct {
ReplyTo *string `json:"replyTo,omitempty"`
}
HeadersFromRequestMessageFromReceptionChannel is a schema from the AsyncAPI specification required in messages
type ReplyMessageFromReplyChannel ¶
type ReplyMessageFromReplyChannel struct {
// Payload will be inserted in the message payload
Payload string
}
ReplyMessageFromReplyChannel is the message expected for 'ReplyMessageFromReplyChannel' channel.
func NewReplyMessageFromReplyChannel ¶
func NewReplyMessageFromReplyChannel() ReplyMessageFromReplyChannel
type RequestMessageFromReceptionChannel ¶
type RequestMessageFromReceptionChannel struct {
// Headers will be used to fill the message headers
Headers HeadersFromRequestMessageFromReceptionChannel
// Payload will be inserted in the message payload
Payload string
}
RequestMessageFromReceptionChannel is the message expected for 'RequestMessageFromReceptionChannel' channel.
func NewRequestMessageFromReceptionChannel ¶
func NewRequestMessageFromReceptionChannel() RequestMessageFromReceptionChannel
type UserController ¶
type UserController struct {
// contains filtered or unexported fields
}
UserController is the structure that provides sending capabilities to the developer and and connect the broker with the User
func NewUserController ¶
func NewUserController(bc extensions.BrokerController, options ...ControllerOption) (*UserController, error)
NewUserController links the User to the broker
func (*UserController) Close ¶
func (c *UserController) Close(ctx context.Context)
Close will clean up any existing resources on the controller
func (*UserController) RequestToGetServiceInfoOperation ¶
func (c *UserController) RequestToGetServiceInfoOperation( ctx context.Context, msg RequestMessageFromReceptionChannel, ) (ReplyMessageFromReplyChannel, error)
func (*UserController) SendToGetServiceInfoOperation ¶
func (c *UserController) SendToGetServiceInfoOperation( ctx context.Context, msg RequestMessageFromReceptionChannel, ) error
SendToGetServiceInfoOperation will send a RequestMessageFromReceptionChannel message on Reception channel.
NOTE: this won't wait for reply, use the normal version to get the reply or do the catching reply manually. NOTE: for now, this only support the first message from AsyncAPI list. If you need support for other messages, please raise an issue.