Documentation
¶
Overview ¶
Package tinyhttp provides HTTP server implementation.
Index ¶
Constants ¶
This section is empty.
Variables ¶
var DefaultValidator = validator.New()
DefaultValidator is the default instance of validator.Validate.
Functions ¶
This section is empty.
Types ¶
type Server ¶
Server is an object representing fiber.App and implementing the tiny.Service interface.
func NewServer ¶
func NewServer(address string, config ...*ServerConfig) *Server
NewServer creates new Server instance.
func (*Server) OnError ¶ added in v1.0.42
OnError sets a handler for requests that resulted in error.
type ServerConfig ¶
type ServerConfig struct {
// Network is a network type for the listener (default: "tcp").
Network string
// SecurityHeaders defines whether to include HTTP security headers to all responses or not (default: true).
SecurityHeaders bool
// ShutdownTimeout defines a maximal timeout of HTTP server shutdown (default: 5s).
ShutdownTimeout time.Duration
// TLSCert is a path to TLS certificate to use. When specified with TLSKey - enables TLS mode.
TLSCert string
// TLSKey is a path to TLS key to use. When specified with TLSCert - enables TLS mode.
TLSKey string
// TLSConfig is an optional TLS configuration to pass when using TLS mode.
TLSConfig *tls.Config
// ReadTimeout is a timeout used when creating underlying http server (default: 5s).
ReadTimeout time.Duration
// WriteTimeout is a timeout used when creating underlying http server (default: 10s).
WriteTimeout time.Duration
// IdleTimeout is a timeout used when creating underlying http server (default 2m).
IdleTimeout time.Duration
// TrustedProxies is a list of CIDR address ranges that can be trusted when handling RemoteIP header.
// (default: "10.0.0.0/8", "172.16.0.0/12", "192.168.0.0/16", "127.0.0.0/8", "fc00::/7", "::1/128")
TrustedProxies []string
// RemoteIPHeaders is a list of headers that overwrite the value of client's remote address.
// (default: "X-Forwarded-For")
RemoteIPHeader string
// ViewEngine is a template rendering engine for fiber (default: nil).
ViewEngine fiber.Views
// ViewLayout is a global layout for ViewEngine (default: "").
ViewLayout string
// Concurrency specifies a maximum number of concurrent connections (default: 256 * 1024).
Concurrency int
// BodyLimit specifies a maximum allowed size for a request body (default: 4 * 1024 * 1024).
BodyLimit int
// ReadBufferSize specifies a per-connection buffer size (default: 4096).
ReadBufferSize int
// WriteBufferSize specifies a per-connection buffer size for responses (default: 4096).
WriteBufferSize int
// FiberOpt allows to specify custom function that will operate directly on *fiber.Config.
FiberOpt func(*fiber.Config)
}
ServerConfig holds a configuration for NewServer.
type ValidationError ¶ added in v1.0.21
type ValidationError struct {
// Field is a name of the field that contains an error.
Field string `json:"field"`
// Tag is a name of the tag that trigger an error.
Tag string `json:"tag"`
// Err is an original error.
Err validator.FieldError `json:"-"`
}
ValidationError denotes an error in payload validation.
func BindBody ¶ added in v1.0.40
func BindBody(c *fiber.Ctx, out any) []ValidationError
BindBody tries to parse provided request body and validate resulting object using the DefaultValidator.
func BindBodyForm ¶ added in v1.0.49
func BindBodyForm(c *fiber.Ctx, out any) []ValidationError
BindBodyForm tries to parse provided request Form body and validate resulting object using the DefaultValidator.
func BindBodyJSON ¶ added in v1.0.49
func BindBodyJSON(c *fiber.Ctx, out any) []ValidationError
BindBodyJSON tries to parse provided request JSON body and validate resulting object using the DefaultValidator.
func ExtractValidatorErrors ¶ added in v1.0.21
func ExtractValidatorErrors(err error) []ValidationError
ExtractValidatorErrors tries to extract an array of ValidationError from given error.