server

package
v0.8.0 Latest Latest
Warning

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

Go to latest
Published: Jan 21, 2026 License: MIT Imports: 26 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DefaultRouteMethod = http.MethodGet
	DefaultRoutePath   = "/"

	DefaultCorsOrigin  = "*"
	DefaultCorsMethods = "*"
	DefaultCorsHeaders = "*"

	DefaultShutdownTimeout = 10 * time.Second
	DefaultShutdownHandler = true
)

Variables

Functions

This section is empty.

Types

type CorsOption

type CorsOption func(*cors)

func WithCorsHeaders

func WithCorsHeaders(headers string) CorsOption

func WithCorsMethods

func WithCorsMethods(methods string) CorsOption

func WithCorsOrigin

func WithCorsOrigin(origin string) CorsOption

type Manager added in v0.4.0

type Manager interface {
	SetListener(listener net.Listener) Manager
	SetCore(core *fasthttp.Server) Manager
	SetRouter(router *fasthttpRouter.Router) Manager
	SetTelemetryManager(telemetry telemetry.Manager) Manager
	EnableTLS(tls *TLS) Manager
	AddMiddleware(MiddlewareHandler) Manager
	AddRoute(opts ...RouteOption) Manager
	AddRouteGroup(opts ...RouteGroupOption) Manager
	UseCors(opts ...CorsOption) Manager
	UseSwagger() Manager
	UseProfiling() Manager
	Listen() <-chan error
	Up()
	GetShutdownTimeout() time.Duration
	GetShutdownHandler() bool
	Shutdown(ctx context.Context, reason string) error
}

func New

func New(opts ...Option) Manager

type MiddlewareHandler

type MiddlewareHandler func(RequestHandler) RequestHandler

type Option

type Option func(*server)

func WithCore

func WithCore(core *fasthttp.Server) Option

func WithCoreOptions

func WithCoreOptions(opts ...core.Option) Option

func WithListener

func WithListener(listener net.Listener) Option

func WithListenerOptions

func WithListenerOptions(opts ...listener.Option) Option

func WithRouter

func WithRouter(router *fasthttpRouter.Router) Option

func WithRouterOptions

func WithRouterOptions(opts ...router.Option) Option

func WithShutdownTimeout

func WithShutdownTimeout(timeout time.Duration) Option

func WithTLS

func WithTLS(tls *TLS) Option

func WithTelemetryManager

func WithTelemetryManager(telemetry telemetry.Manager) Option

func WithoutShutdownHandler

func WithoutShutdownHandler() Option

type RequestContext

type RequestContext struct {
	*fasthttp.RequestCtx
}

func (*RequestContext) GetBearerToken

func (c *RequestContext) GetBearerToken() (string, error)

func (*RequestContext) GetContext

func (c *RequestContext) GetContext() context.Context

func (*RequestContext) GetHeaderStr

func (c *RequestContext) GetHeaderStr(key string) string

func (*RequestContext) GetIpAddr

func (c *RequestContext) GetIpAddr() string

func (*RequestContext) ReadJsonBody

func (c *RequestContext) ReadJsonBody(data any) error

func (*RequestContext) SetTraceIdHeader

func (c *RequestContext) SetTraceIdHeader()

func (*RequestContext) UserValueBool

func (c *RequestContext) UserValueBool(key any) (bool, error)

func (*RequestContext) UserValueInt

func (c *RequestContext) UserValueInt(key any) (int, error)

func (*RequestContext) UserValueStr

func (c *RequestContext) UserValueStr(key any) (string, error)

func (*RequestContext) UserValueStrBase64 added in v0.6.0

func (c *RequestContext) UserValueStrBase64(key any) (string, error)

func (*RequestContext) UserValueUint

func (c *RequestContext) UserValueUint(key any) (uint, error)

func (*RequestContext) Write

func (c *RequestContext) Write(p []byte) (int, error)

func (*RequestContext) WriteError

func (c *RequestContext) WriteError(err error)

func (*RequestContext) WriteJson

func (c *RequestContext) WriteJson(data any) error

func (*RequestContext) WriteJsonWithStatusCode

func (c *RequestContext) WriteJsonWithStatusCode(statusCode int, data any) error

func (*RequestContext) WriteStatusCode

func (c *RequestContext) WriteStatusCode(code int)

func (*RequestContext) WriteString

func (c *RequestContext) WriteString(s string) (int, error)

type RequestHandler

type RequestHandler func(*RequestContext)

type RouteGroupOption

type RouteGroupOption func(*routeGroup)

func WithRouteGroup

func WithRouteGroup(opts ...RouteGroupOption) RouteGroupOption

func WithRouteGroupMiddlewares

func WithRouteGroupMiddlewares(middlewares ...MiddlewareHandler) RouteGroupOption

func WithRouteGroupPath

func WithRouteGroupPath(path string) RouteGroupOption

func WithRouteGroupRoute

func WithRouteGroupRoute(opts ...RouteOption) RouteGroupOption

type RouteOption

type RouteOption func(*route)

func WithRouteBodyParserHandler

func WithRouteBodyParserHandler[T any](handler func(context.Context, *RequestContext, *T)) RouteOption

func WithRouteHandler

func WithRouteHandler(handler func(context.Context, *RequestContext)) RouteOption

func WithRouteMethod

func WithRouteMethod(method string) RouteOption

func WithRouteMiddlewares

func WithRouteMiddlewares(middlewares ...MiddlewareHandler) RouteOption

func WithRoutePath

func WithRoutePath(path string) RouteOption

type TLS

type TLS struct {
	Cert string
	Key  string
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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