Documentation ¶
Index ¶
- Constants
- func DataMapper[T any](handler func(T, ...string) error) dataMapper[T]
- func ServerOptions() *options
- type Client
- func (c *Client) Close(code int, message string)
- func (c *Client) NextReader() (messageType int, r io.Reader, err error)
- func (c *Client) NextWriterBinary() (r io.Writer, err error)
- func (c *Client) NextWriterCloseMessage() (r io.Writer, err error)
- func (c *Client) NextWriterText() (r io.Writer, err error)
- func (c *Client) SetOnClose(fn func(err error)) *Client
- func (c *Client) SetOnError(fn func(err error)) *Client
- func (c *Client) SetRawHandler(fn func(message []byte)) *Client
- func (c *Client) SetRawMiddleware(fn func(message []byte)) *Client
- func (c *Client) SetUpdateTypeHandler(updateType string, fn func(message json.RawMessage)) *Client
- func (w Client) WriteBinaryBytes(data []byte) (err error)
- func (w Client) WriteBinaryText(data []byte) (err error)
- func (w Client) WriteRawUpdate(data interface{}) (err error)
- func (w Client) WriteText(data string) (err error)
- func (w Client) WriteUpdate(updateType string, data interface{}, extra ...string) (err error)
- type Connection
- func (c *Connection) Close() error
- func (c *Connection) Errors() <-chan UpdateError
- func (c *Connection) GetAttribute(key string) (val interface{}, exists bool)
- func (c *Connection) HandleRawUpdate(handler func(message []byte))
- func (c *Connection) HandleUpdate(updateType string, handler mapper)
- func (c *Connection) ID() string
- func (c *Connection) InternalUpdates() <-chan []byte
- func (c *Connection) NextReader() (messageType int, r io.Reader, err error)
- func (c *Connection) NextWriterBinary() (r io.Writer, err error)
- func (c *Connection) NextWriterCloseMessage() (r io.Writer, err error)
- func (c *Connection) NextWriterText() (r io.Writer, err error)
- func (c *Connection) ProcessUpdates() error
- func (c *Connection) Server() *Server
- func (c *Connection) SetAttribute(key string, val interface{})
- func (c *Connection) SetKeepAliveDuration(keepAlive time.Duration)
- func (c *Connection) SetMiddleware(middleware func(message []byte) error)
- func (c *Connection) SetOnClose(onClose func())
- func (c *Connection) SetUpdateTypeMiddleware(middleware func(updateType string, data json.RawMessage) error)
- func (w Connection) WriteBinaryBytes(data []byte) (err error)
- func (w Connection) WriteBinaryText(data []byte) (err error)
- func (c *Connection) WriteInternalUpdate(update []byte)
- func (w Connection) WriteRawUpdate(data interface{}) (err error)
- func (w Connection) WriteText(data string) (err error)
- func (w Connection) WriteUpdate(updateType string, data interface{}, extra ...string) (err error)
- type EmptyInput
- type Logger
- type Server
- type Update
- type UpdateError
- type UpgradeRequest
- func (u *UpgradeRequest) Request() *http.Request
- func (u *UpgradeRequest) SetAttribute(key string, val interface{}) *UpgradeRequest
- func (u *UpgradeRequest) SetClientID(clientID string) *UpgradeRequest
- func (u *UpgradeRequest) Upgrade() (*Connection, error)
- func (u *UpgradeRequest) WriteResponse(statusCode int, header http.Header, response []byte) (int, error)
Constants ¶
View Source
const (
EncryptionTypeRsaAes encryptionMethod = "RSA/AES"
)
Variables ¶
This section is empty.
Functions ¶
func DataMapper ¶ added in v0.3.14
func ServerOptions ¶ added in v0.3.0
func ServerOptions() *options
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
func (*Client) NextReader ¶ added in v0.3.7
func (*Client) NextWriterBinary ¶ added in v0.3.10
func (*Client) NextWriterCloseMessage ¶ added in v0.3.12
func (*Client) NextWriterText ¶ added in v0.3.10
func (*Client) SetOnClose ¶ added in v0.1.9
func (*Client) SetOnError ¶ added in v0.3.0
func (*Client) SetRawHandler ¶ added in v0.3.0
func (*Client) SetRawMiddleware ¶ added in v0.3.4
func (*Client) SetUpdateTypeHandler ¶ added in v0.3.0
func (c *Client) SetUpdateTypeHandler(updateType string, fn func(message json.RawMessage)) *Client
func (Client) WriteBinaryBytes ¶ added in v0.2.5
func (Client) WriteBinaryText ¶ added in v0.2.7
func (Client) WriteRawUpdate ¶ added in v0.1.4
func (w Client) WriteRawUpdate(data interface{}) (err error)
func (Client) WriteUpdate ¶
type Connection ¶ added in v0.2.9
type Connection struct {
// contains filtered or unexported fields
}
func (*Connection) Close ¶ added in v0.2.9
func (c *Connection) Close() error
func (*Connection) Errors ¶ added in v0.2.9
func (c *Connection) Errors() <-chan UpdateError
func (*Connection) GetAttribute ¶ added in v0.2.9
func (c *Connection) GetAttribute(key string) (val interface{}, exists bool)
func (*Connection) HandleRawUpdate ¶ added in v0.2.9
func (c *Connection) HandleRawUpdate(handler func(message []byte))
HandleRawUpdate registers a default handler for update Note: Add a raw handler if you don't want to follow the API convention {"type": "", "data": {}}
func (*Connection) HandleUpdate ¶ added in v0.2.9
func (c *Connection) HandleUpdate(updateType string, handler mapper)
HandleUpdate registers a default handler for updateType For the second argument you should pass your handler inside DataMapper as follows: socketify.DataMapper[T](handler) If the input is going to be empty (update.data == nil) then you can pass socketify.EmptyInput as input Care: If you use this method for an updateType, you won't receive the respected update in your listener
func (*Connection) ID ¶ added in v0.2.9
func (c *Connection) ID() string
func (*Connection) InternalUpdates ¶ added in v0.2.9
func (c *Connection) InternalUpdates() <-chan []byte
func (*Connection) NextReader ¶ added in v0.3.8
func (c *Connection) NextReader() (messageType int, r io.Reader, err error)
func (*Connection) NextWriterBinary ¶ added in v0.3.11
func (c *Connection) NextWriterBinary() (r io.Writer, err error)
func (*Connection) NextWriterCloseMessage ¶ added in v0.3.11
func (c *Connection) NextWriterCloseMessage() (r io.Writer, err error)
func (*Connection) NextWriterText ¶ added in v0.3.11
func (c *Connection) NextWriterText() (r io.Writer, err error)
func (*Connection) ProcessUpdates ¶ added in v0.2.9
func (c *Connection) ProcessUpdates() error
func (*Connection) Server ¶ added in v0.2.9
func (c *Connection) Server() *Server
func (*Connection) SetAttribute ¶ added in v0.2.9
func (c *Connection) SetAttribute(key string, val interface{})
func (*Connection) SetKeepAliveDuration ¶ added in v0.2.9
func (c *Connection) SetKeepAliveDuration(keepAlive time.Duration)
func (*Connection) SetMiddleware ¶ added in v0.2.9
func (c *Connection) SetMiddleware(middleware func(message []byte) error)
func (*Connection) SetOnClose ¶ added in v0.2.9
func (c *Connection) SetOnClose(onClose func())
func (*Connection) SetUpdateTypeMiddleware ¶ added in v0.2.9
func (c *Connection) SetUpdateTypeMiddleware(middleware func(updateType string, data json.RawMessage) error)
func (Connection) WriteBinaryBytes ¶ added in v0.2.9
func (Connection) WriteBinaryText ¶ added in v0.2.9
func (*Connection) WriteInternalUpdate ¶ added in v0.2.9
func (c *Connection) WriteInternalUpdate(update []byte)
func (Connection) WriteRawUpdate ¶ added in v0.2.9
func (w Connection) WriteRawUpdate(data interface{}) (err error)
func (Connection) WriteUpdate ¶ added in v0.2.9
type EmptyInput ¶ added in v0.3.14
type EmptyInput struct{}
type Server ¶ added in v0.2.9
type Server struct {
// contains filtered or unexported fields
}
func (*Server) UpgradeRequests ¶ added in v0.4.0
func (s *Server) UpgradeRequests() chan *UpgradeRequest
type Update ¶
type Update struct { Type string `json:"type"` Data json.RawMessage `json:"data,omitempty"` Extra string `json:"extra,omitempty"` }
type UpdateError ¶ added in v0.3.15
type UpgradeRequest ¶ added in v0.4.0
type UpgradeRequest struct {
// contains filtered or unexported fields
}
func (*UpgradeRequest) Request ¶ added in v0.4.0
func (u *UpgradeRequest) Request() *http.Request
func (*UpgradeRequest) SetAttribute ¶ added in v0.4.0
func (u *UpgradeRequest) SetAttribute(key string, val interface{}) *UpgradeRequest
func (*UpgradeRequest) SetClientID ¶ added in v0.4.0
func (u *UpgradeRequest) SetClientID(clientID string) *UpgradeRequest
func (*UpgradeRequest) Upgrade ¶ added in v0.4.0
func (u *UpgradeRequest) Upgrade() (*Connection, error)
func (*UpgradeRequest) WriteResponse ¶ added in v0.4.0
Source Files ¶
Click to show internal directories.
Click to hide internal directories.