Documentation
¶
Overview ¶
Package "issue74" 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
- func (c *AppController) Close(ctx context.Context)
- func (c *AppController) SubscribeAll(ctx context.Context, as AppSubscriber) error
- func (c *AppController) SubscribeV2Issue74TestChannel(ctx context.Context, fn func(ctx context.Context, msg TestMessage) error) error
- func (c *AppController) UnsubscribeAll(ctx context.Context)
- func (c *AppController) UnsubscribeV2Issue74TestChannel(ctx context.Context)
- type AppSubscriber
- type ControllerOption
- type Error
- type HeaderSchema
- type MessageWithCorrelationID
- type TestMessage
- type TestMessagePayload
- type TestSchema
- type TestSchemaObj1
- type UserController
Constants ¶
const AsyncAPIVersion = "1.0.0"
AsyncAPIVersion is the version of the used AsyncAPI document
const (
// V2Issue74TestChannelPath is the constant representing the 'V2Issue74TestChannel' channel path.
V2Issue74TestChannelPath = "v2.issue74.testChannel"
)
Variables ¶
var ChannelsPaths = []string{ V2Issue74TestChannelPath, }
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) SubscribeAll ¶
func (c *AppController) SubscribeAll(ctx context.Context, as AppSubscriber) 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 (*AppController) SubscribeV2Issue74TestChannel ¶ added in v0.35.2
func (c *AppController) SubscribeV2Issue74TestChannel( ctx context.Context, fn func(ctx context.Context, msg TestMessage) error, ) error
SubscribeV2Issue74TestChannel will subscribe to new messages from 'v2.issue74.testChannel' channel.
Callback function 'fn' will be called each time a new message is received.
func (*AppController) UnsubscribeAll ¶
func (c *AppController) UnsubscribeAll(ctx context.Context)
UnsubscribeAll will unsubscribe all remaining subscribed channels
func (*AppController) UnsubscribeV2Issue74TestChannel ¶ added in v0.35.2
func (c *AppController) UnsubscribeV2Issue74TestChannel(ctx context.Context)
UnsubscribeV2Issue74TestChannel will unsubscribe messages from 'v2.issue74.testChannel' channel. A timeout can be set in context to avoid blocking operation, if needed.
type AppSubscriber ¶
type AppSubscriber interface { // V2Issue74TestChannel subscribes to messages placed on the 'v2.issue74.testChannel' channel V2Issue74TestChannel(ctx context.Context, msg TestMessage) error }
AppSubscriber represents all handlers that are expecting 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 ¶ added in v0.35.0
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 HeaderSchema ¶
type HeaderSchema struct { // Description: Date in UTC format "YYYY-MM-DDThh:mm:ss.sZ". DateTime time.Time `json:"dateTime" validate:"required"` // Description: Schema version Version string `json:"version" validate:"required"` }
HeaderSchema is a schema from the AsyncAPI specification required in messages Description: header
type TestMessage ¶
type TestMessage struct { // Headers will be used to fill the message headers Headers HeaderSchema // Payload will be inserted in the message payload Payload TestMessagePayload }
TestMessage is the message expected for 'TestMessage' channel. NOTE: test message
func NewTestMessage ¶
func NewTestMessage() TestMessage
type TestMessagePayload ¶ added in v0.35.1
type TestMessagePayload struct {
Obj1 TestSchemaObj1 `json:"obj1" validate:"required"`
}
TestMessagePayload is a schema from the AsyncAPI specification required in messages
type TestSchema ¶ added in v0.35.1
type TestSchema struct {
Obj1 TestSchemaObj1 `json:"obj1" validate:"required"`
}
TestSchema is a schema from the AsyncAPI specification required in messages
type TestSchemaObj1 ¶ added in v0.35.1
type TestSchemaObj1 struct { // Description: reference ID. ReferenceId string `json:"referenceId" validate:"required"` }
TestSchemaObj1 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) PublishV2Issue74TestChannel ¶ added in v0.35.2
func (c *UserController) PublishV2Issue74TestChannel( ctx context.Context, msg TestMessage, ) error
PublishV2Issue74TestChannel will publish messages to 'v2.issue74.testChannel' channel