hsocks

package
v0.3.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 23, 2021 License: MIT Imports: 15 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ClientIdentificationHeader = "X-SSE-Client-Id"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type HttpHub

type HttpHub struct {
	// contains filtered or unexported fields
}

func NewHub

func NewHub(
	ctx context.Context,
	maxRetries int,
	codec sabuhp.Codec,
	client *http.Client,
	logging sabuhp.Logger,
	retryFn sabuhp.RetryFunc,
) *HttpHub

func (*HttpHub) For

func (se *HttpHub) For(
	id nxid.ID,
	route string,
) (*SendClient, error)

type HttpServlet

type HttpServlet struct {
	// contains filtered or unexported fields
}

func ManagedHttpServlet

func ManagedHttpServlet(
	ctx context.Context,
	logger sabuhp.Logger,
	transposer sabuhp.Transposer,
	translator sabuhp.Translator,
	manager *managers.Manager,
	optionalHeaders sabuhp.HeaderModifications,
) *HttpServlet

func (*HttpServlet) Handle

func (htp *HttpServlet) Handle(w http.ResponseWriter, r *http.Request, p sabuhp.Params)

func (*HttpServlet) HandleMessage

func (htp *HttpServlet) HandleMessage(
	w http.ResponseWriter,
	r *http.Request,
	p sabuhp.Params,
	asEvent string,
	overrideResponder sabuhp.TransportResponse,
)

HandleMessage implements necessary logic to handle an incoming request and response life cycle.

func (*HttpServlet) HandleWithResponder

func (htp *HttpServlet) HandleWithResponder(w http.ResponseWriter, r *http.Request, p sabuhp.Params, responder sabuhp.TransportResponse)

func (*HttpServlet) ServeHTTP

func (htp *HttpServlet) ServeHTTP(w http.ResponseWriter, r *http.Request)

ServeHTTP implements the http.Handler interface.

It collects all values from http.Request.ParseForm() as params map and calls them with HttpServlet.Handle.

type MessageHandler

type MessageHandler func(message []byte, socket *SendClient) error

type SendClient

type SendClient struct {
	// contains filtered or unexported fields
}

func NewClient

func NewClient(
	ctx context.Context,
	id nxid.ID,
	route string,
	maxRetries int,
	codec sabuhp.Codec,
	retryFn sabuhp.RetryFunc,
	logger sabuhp.Logger,
	reqClient *http.Client,
) *SendClient

func (*SendClient) Send

func (sc *SendClient) Send(method string, msg *sabuhp.Message, timeout time.Duration) (*sabuhp.Message, error)

type ServletSocket

type ServletSocket struct {
	// contains filtered or unexported fields
}

func NewServletSocket

func NewServletSocket(
	clientId string,
	ctx context.Context,
	r *http.Request,
	w http.ResponseWriter,
	params sabuhp.Params,
	logger sabuhp.Logger,
	transposer sabuhp.Transposer,
	translator sabuhp.Translator,
	manager *managers.Manager,
	optionalHeaders sabuhp.HeaderModifications,
	overridingHandler sabuhp.TransportResponse,
	asEvent string,
) *ServletSocket

func (*ServletSocket) Conn

func (se *ServletSocket) Conn() sabuhp.Conn

func (*ServletSocket) ID

func (se *ServletSocket) ID() nxid.ID

func (*ServletSocket) Listen

func (*ServletSocket) LocalAddr

func (se *ServletSocket) LocalAddr() net.Addr

func (*ServletSocket) RemoteAddr

func (se *ServletSocket) RemoteAddr() net.Addr

func (*ServletSocket) Send

func (se *ServletSocket) Send(msg []byte, meta sabuhp.MessageMeta, _ time.Duration) error

func (*ServletSocket) SendToAll

func (se *ServletSocket) SendToAll(msg *sabuhp.Message, ts time.Duration) error

func (*ServletSocket) SendToOne

func (se *ServletSocket) SendToOne(msg *sabuhp.Message, ts time.Duration) error

func (*ServletSocket) SendWriter

func (se *ServletSocket) SendWriter(msgWriter io.WriterTo, meta sabuhp.MessageMeta, _ time.Duration) sabuhp.ErrorWaiter

SendWriter implements the necessary method to send data across the writer to the underline response object.

func (*ServletSocket) Start

func (se *ServletSocket) Start() error

func (*ServletSocket) Stat

func (se *ServletSocket) Stat() sabuhp.SocketStat

func (*ServletSocket) Stop

func (se *ServletSocket) Stop()

func (*ServletSocket) Wait

func (se *ServletSocket) Wait()

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL