server

package
v0.5.0 Latest Latest
Warning

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

Go to latest
Published: Jul 16, 2025 License: Apache-2.0 Imports: 20 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GenerateBytesUUID

func GenerateBytesUUID() []byte

GenerateBytesUUID returns a UUID based on RFC 4122 returning the generated bytes

func GenerateUUID

func GenerateUUID() string

GenerateUUID returns a UUID based on RFC 4122

func OpenWSServerConn

func OpenWSServerConn(writer http.ResponseWriter, request *http.Request) (*websocket.Conn, error)

Types

type Config

type Config struct {
	MaxReqSize uint16
}

type DummyServer

type DummyServer struct{}

func NewDummyServer

func NewDummyServer() *DummyServer

func (*DummyServer) RegisterHandler

func (d *DummyServer) RegisterHandler(s string, handler http.Handler, secure bool)

func (*DummyServer) Start

func (d *DummyServer) Start() error

func (*DummyServer) Stop

func (d *DummyServer) Stop() error

type HttpHandler

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

func NewHttpHandler

func NewHttpHandler() *HttpHandler

func (*HttpHandler) RegisterURI

func (h *HttpHandler) RegisterURI(uri string, method string, rh RequestHandler)

func (*HttpHandler) ServeHTTP

func (h *HttpHandler) ServeHTTP(w http.ResponseWriter, req *http.Request)

type Input

type Input struct {
	Raw []byte
}

type Options

type Options struct {
	ListenAddress string
	TLS           TLS
}

type Output

type Output struct {
	Raw []byte
}

type ReqContext

type ReqContext struct {
	ResponseWriter http.ResponseWriter
	Req            *http.Request
	Vars           map[string]string
	Query          interface{}
}

type RequestHandler

type RequestHandler interface {
	// HandleRequest dispatches the request in the backend by parsing the given request context
	// and returning a status code and a response back to the client.
	HandleRequest(*ReqContext) (response interface{}, statusCode int)

	// ParsePayload parses the payload to handler specific form or returns an error
	ParsePayload([]byte) (interface{}, error)
}

type ResponseErr

type ResponseErr struct {
	Reason string
}

type Server

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

func NewServer

func NewServer(o Options) *Server

func (*Server) Addr

func (s *Server) Addr() string

func (*Server) HandlerChain

func (s *Server) HandlerChain(h http.Handler, secure bool) http.Handler

func (*Server) RegisterHandler

func (s *Server) RegisterHandler(pattern string, handler http.Handler, secure bool)

RegisterHandler registers into the ServeMux a handler chain that borrows its security properties from the fabhttp.Server. This method is thread safe because ServeMux.Handle() is thread safe, and options are immutable. This method can be called either before or after Server.Start(). If the pattern exists the method panics.

func (*Server) Run

func (s *Server) Run(signals <-chan os.Signal, ready chan<- struct{}) error

func (*Server) Start

func (s *Server) Start() error

func (*Server) Stop

func (s *Server) Stop() error

type TLS

type TLS struct {
	Enabled           bool
	CertFile          string
	KeyFile           string
	ClientAuth        bool
	ClientCACertFiles []string
}

func (TLS) Config

func (t TLS) Config() (*tls.Config, error)

type WSStream

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

func NewWSStream

func NewWSStream(writer http.ResponseWriter, request *http.Request) (*WSStream, error)

func (*WSStream) Close

func (c *WSStream) Close() error

func (*WSStream) Read

func (c *WSStream) Read() ([]byte, error)

func (*WSStream) ReadInput

func (c *WSStream) ReadInput() ([]byte, error)

func (*WSStream) Recv

func (c *WSStream) Recv(p any) error

func (*WSStream) Send

func (c *WSStream) Send(p any) error

func (*WSStream) Write

func (c *WSStream) Write(message []byte) error

func (*WSStream) WriteResult

func (c *WSStream) WriteResult(raw []byte) error

Directories

Path Synopsis
fakes
Code generated by counterfeiter.
Code generated by counterfeiter.
Code generated by counterfeiter.
Code generated by counterfeiter.

Jump to

Keyboard shortcuts

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