Documentation
¶
Overview ¶
Package "issue290" provides primitives to interact with the AsyncAPI specification.
Code generated by github.com/lerenn/asyncapi-codegen version (devel) DO NOT EDIT.
Index ¶
- Constants
- Variables
- type AppController
- type BaseEventSchema
- type ControllerOption
- type Error
- type MessageWithCorrelationID
- type TestCreatedMessage
- type TestEventSchema
- type UserController
- func (c *UserController) Close(ctx context.Context)
- func (c *UserController) SubscribeAll(ctx context.Context, as UserSubscriber) error
- func (c *UserController) SubscribeTestCreated(ctx context.Context, ...) error
- func (c *UserController) UnsubscribeAll(ctx context.Context)
- func (c *UserController) UnsubscribeTestCreated(ctx context.Context)
- type UserSubscriber
Constants ¶
const AsyncAPIVersion = "1.0.0"
AsyncAPIVersion is the version of the used AsyncAPI document
const (
// TestCreatedPath is the constant representing the 'TestCreated' channel path.
TestCreatedPath = "test.created"
)
Variables ¶
var ChannelsPaths = []string{ TestCreatedPath, }
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 publishing 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) PublishTestCreated ¶
func (c *AppController) PublishTestCreated( ctx context.Context, msg TestCreatedMessage, ) error
PublishTestCreated will publish messages to 'test.created' channel
type BaseEventSchema ¶
type BaseEventSchema struct {
Id *string `json:"id,omitempty"`
Timestamp *string `json:"timestamp,omitempty"`
}
BaseEventSchema is a schema from the AsyncAPI specification required in messages
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 MessageWithCorrelationID ¶
MessageWithCorrelationID is implemented by messages that carry a correlation ID.
type TestCreatedMessage ¶
type TestCreatedMessage struct {
// Payload will be inserted in the message payload
Payload TestEventSchema
}
TestCreatedMessage is the message expected for 'TestCreatedMessage' channel.
func NewTestCreatedMessage ¶
func NewTestCreatedMessage() TestCreatedMessage
NewTestCreatedMessage creates a new TestCreatedMessage with default values if any.
type TestEventSchema ¶
type TestEventSchema struct {
Data *string `json:"data,omitempty"`
Id *string `json:"id,omitempty"`
Timestamp *string `json:"timestamp,omitempty"`
}
TestEventSchema is a schema from the AsyncAPI specification required in messages
type UserController ¶
type UserController struct {
// contains filtered or unexported fields
}
UserController is the structure that provides publishing 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) SubscribeAll ¶
func (c *UserController) SubscribeAll(ctx context.Context, as UserSubscriber) error
SubscribeAll will subscribe to channels without parameters on which the app is expecting messages. For channels with parameters, they should be subscribed independently.
func (*UserController) SubscribeTestCreated ¶
func (c *UserController) SubscribeTestCreated( ctx context.Context, fn func(ctx context.Context, msg TestCreatedMessage) error, ) error
SubscribeTestCreated will subscribe to new messages from 'test.created' channel.
Callback function 'fn' will be called each time a new message is received.
func (*UserController) UnsubscribeAll ¶
func (c *UserController) UnsubscribeAll(ctx context.Context)
UnsubscribeAll will unsubscribe all remaining subscribed channels
func (*UserController) UnsubscribeTestCreated ¶
func (c *UserController) UnsubscribeTestCreated(ctx context.Context)
UnsubscribeTestCreated will unsubscribe messages from 'test.created' channel. A timeout can be set in context to avoid blocking operation, if needed.
type UserSubscriber ¶
type UserSubscriber interface {
// TestCreated subscribes to messages placed on the 'test.created' channel
TestCreated(ctx context.Context, msg TestCreatedMessage) error
}
UserSubscriber represents all handlers that are expecting messages for User