Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewContext ¶
NewContext stores Session in context.Context values. It uses pointer to the session so it can be modified by handler.
Types ¶
type Handler ¶
type Handler interface { // Authorization on client `CONNECT` // Each of the params are passed by reference, so that it can be changed AuthConnect(ctx context.Context) error // Authorization on client `PUBLISH` // Topic is passed by reference, so that it can be modified AuthPublish(ctx context.Context, topic *string, payload *[]byte) error // Authorization on client `SUBSCRIBE` // Topics are passed by reference, so that they can be modified AuthSubscribe(ctx context.Context, topics *[]string) error // After client successfully connected Connect(ctx context.Context) error // After client successfully published Publish(ctx context.Context, topic *string, payload *[]byte) error // After client successfully subscribed Subscribe(ctx context.Context, topics *[]string) error // After client unsubscribed Unsubscribe(ctx context.Context, topics *[]string) error // Disconnect on connection with client lost Disconnect(ctx context.Context) error }
Handler is an interface for mGate hooks.
type Interceptor ¶
type Interceptor interface { // Intercept is called on every packet flowing through the Proxy. // Packets can be modified before being sent to the broker or the client. // If the interceptor returns a non-nil packet, the modified packet is sent. // The error indicates unsuccessful interception and mGate is cancelling the packet. Intercept(ctx context.Context, pkt packets.ControlPacket, dir Direction) (packets.ControlPacket, error) }
Interceptor is an interface for mGate intercept hook.
Click to show internal directories.
Click to hide internal directories.