package fiber

Import Path
	github.com/gofiber/fiber/v2 (on go.dev)

Dependency Relation
	imports 42 packages, and imported by 17 packages

Involved Source Files Package fiber is an Express inspired web framework built on top of Fasthttp, the fastest HTTP engine for Go. Designed to ease things up for fast development with zero memory allocation and performance in mind. client.go color.go ctx.go error.go group.go helpers.go hooks.go listen.go mount.go path.go prefork.go router.go
Package-Level Type Names (total 49)
/* sort by: | */
Agent is an object storing all request data for client. Agent instance MUST NOT be used from concurrently running goroutines. HostClient is an embedded fasthttp HostClient Comma-separated list of upstream HTTP server host addresses, which are passed to Dial in a round-robin manner. Each address may contain port if default dialer is used. For example, - foobar.com:80 - foobar.com:443 - foobar.com:8080 Connection pool strategy. Can be either LIFO or FIFO (default). Callback for establishing new connection to the host. Default Dial is used if not set. Attempt to connect to both ipv4 and ipv6 host addresses if set to true. This option is used only if default TCP dialer is used, i.e. if Dial is blank. By default client connects only to ipv4 addresses, since unfortunately ipv6 remains broken in many networks worldwide :) Header names are passed as-is without normalization if this option is set. Disabled header names' normalization may be useful only for proxying responses to other clients expecting case-sensitive header names. See https://github.com/valyala/fasthttp/issues/57 for details. By default request and response header names are normalized, i.e. The first letter and the first letters following dashes are uppercased, while all the other letters are lowercased. Examples: * HOST -> Host * content-type -> Content-Type * cONTENT-lenGTH -> Content-Length Path values are sent as-is without normalization Disabled path normalization may be useful for proxying incoming requests to servers that are expecting paths to be forwarded as-is. By default path values are normalized, i.e. extra slashes are removed, special characters are encoded. Whether to use TLS (aka SSL or HTTPS) for host connections. Keep-alive connections are closed after this duration. By default connection duration is unlimited. Maximum duration for waiting for a free connection. By default will not waiting, return ErrNoFreeConns immediately Maximum number of connections which may be established to all hosts listed in Addr. You can change this value while the HostClient is being used with HostClient.SetMaxConns(value) DefaultMaxConnsPerHost is used if not set. Maximum number of attempts for idempotent calls DefaultMaxIdemponentCallAttempts is used if not set. Idle keep-alive connections are closed after this duration. By default idle connections are closed after DefaultMaxIdleConnDuration. Maximum response body size. The client returns ErrBodyTooLarge if this limit is greater than 0 and response body is greater than the limit. By default response body size is unlimited. Per-connection buffer size for responses' reading. This also limits the maximum header size. Default buffer size is used if 0. Maximum duration for full response reading (including body). By default response read timeout is unlimited. Will not log potentially sensitive content in error logs This option is useful for servers that handle sensitive data in the request/response. Client logs full errors by default. StreamResponseBody enables response body streaming Transport defines a transport-like mechanism that wraps every request/response. Per-connection buffer size for requests' writing. Default buffer size is used if 0. Maximum duration for full request writing (including body). By default request write timeout is unlimited. Name is used in User-Agent request header. NoDefaultUserAgentHeader when set to true, causes the default User-Agent header to be excluded from the Request. Add adds the given 'key: value' header. Multiple headers with the same key may be added with this function. Use Set for setting a single header for the given key. AddBytesK adds the given 'key: value' header. Multiple headers with the same key may be added with this function. Use SetBytesK for setting a single header for the given key. AddBytesKV adds the given 'key: value' header. Multiple headers with the same key may be added with this function. Use SetBytesKV for setting a single header for the given key. AddBytesV adds the given 'key: value' header. Multiple headers with the same key may be added with this function. Use SetBytesV for setting a single header for the given key. BasicAuth sets URI username and password. BasicAuthBytes sets URI username and password. Body sets request body. BodyStream sets request body stream and, optionally body size. If bodySize is >= 0, then the bodyStream must provide exactly bodySize bytes before returning io.EOF. If bodySize < 0, then bodyStream is read until io.EOF. bodyStream.Close() is called after finishing reading all body data if it implements io.Closer. Note that GET and HEAD requests cannot have body. BodyString sets request body. Boundary sets boundary for multipart form request. Bytes returns the status code, bytes body and errors of url. it's not safe to use Agent after calling [Agent.Bytes] CloseIdleConnections closes any connections which were previously connected from previous requests but are now sitting idle in a "keep-alive" state. It does not interrupt any connections currently in use. ConnectionClose sets 'Connection: close' header. ConnsCount returns connection count of HostClient ContentType sets Content-Type header value. ContentTypeBytes sets Content-Type header value. Cookie sets one 'key: value' cookie. CookieBytesK sets one 'key: value' cookie. CookieBytesKV sets one 'key: value' cookie. Cookies sets multiple 'key: value' cookies. CookiesBytesKV sets multiple 'key: value' cookies. Debug mode enables logging request and response detail Dest sets custom dest. The contents of dest will be replaced by the response body, if the dest is too small a new slice will be allocated. Do performs the given http request and sets the corresponding response. Request must contain at least non-zero RequestURI with full url (including scheme and host) or non-zero Host header + RequestURI. The function doesn't follow redirects. Use Get* for following redirects. Response is ignored if resp is nil. ErrNoFreeConns is returned if all HostClient.MaxConns connections to the host are busy. It is recommended obtaining req and resp via AcquireRequest and AcquireResponse in performance-critical code. DoDeadline performs the given request and waits for response until the given deadline. Request must contain at least non-zero RequestURI with full url (including scheme and host) or non-zero Host header + RequestURI. The function doesn't follow redirects. Use Get* for following redirects. Response is ignored if resp is nil. ErrTimeout is returned if the response wasn't returned until the given deadline. Immediately returns ErrTimeout if the deadline has already been reached. ErrNoFreeConns is returned if all HostClient.MaxConns connections to the host are busy. It is recommended obtaining req and resp via AcquireRequest and AcquireResponse in performance-critical code. DoRedirects performs the given http request and fills the given http response, following up to maxRedirectsCount redirects. When the redirect count exceeds maxRedirectsCount, ErrTooManyRedirects is returned. Request must contain at least non-zero RequestURI with full url (including scheme and host) or non-zero Host header + RequestURI. Client determines the server to be requested in the following order: - from RequestURI if it contains full url with scheme and host; - from Host header otherwise. Response is ignored if resp is nil. ErrNoFreeConns is returned if all DefaultMaxConnsPerHost connections to the requested host are busy. It is recommended obtaining req and resp via AcquireRequest and AcquireResponse in performance-critical code. DoTimeout performs the given request and waits for response during the given timeout duration. Request must contain at least non-zero RequestURI with full url (including scheme and host) or non-zero Host header + RequestURI. The function doesn't follow redirects. Use Get* for following redirects. Response is ignored if resp is nil. ErrTimeout is returned if the response wasn't returned during the given timeout. Immediately returns ErrTimeout if timeout value is negative. ErrNoFreeConns is returned if all HostClient.MaxConns connections to the host are busy. It is recommended obtaining req and resp via AcquireRequest and AcquireResponse in performance-critical code. FileData appends files for multipart form request. It is recommended obtaining formFile via AcquireFormFile and release it manually in performance-critical code. Form sends form request with body if args is non-nil. It is recommended obtaining args via AcquireArgs and release it manually in performance-critical code. Get returns the status code and body of url. The contents of dst will be replaced by the body and returned, if the dst is too small a new slice will be allocated. The function follows redirects. Use Do* for manually handling redirects. GetDeadline returns the status code and body of url. The contents of dst will be replaced by the body and returned, if the dst is too small a new slice will be allocated. The function follows redirects. Use Do* for manually handling redirects. ErrTimeout error is returned if url contents couldn't be fetched until the given deadline. GetTimeout returns the status code and body of url. The contents of dst will be replaced by the body and returned, if the dst is too small a new slice will be allocated. The function follows redirects. Use Do* for manually handling redirects. ErrTimeout error is returned if url contents couldn't be fetched during the given timeout. Host sets host for the URI. HostBytes sets host for the URI. InsecureSkipVerify controls whether the Agent verifies the server certificate chain and host name. JSON sends a JSON request. JSONDecoder sets custom json decoder. JSONEncoder sets custom json encoder. LastUseTime returns time the client was last used MaxRedirectsCount sets max redirect count for GET and HEAD. MultipartForm sends multipart form request with k-v and files. It is recommended obtaining args via AcquireArgs and release it manually in performance-critical code. Parse initializes URI and HostClient. PendingRequests returns the current number of requests the client is executing. This function may be used for balancing load among multiple HostClient instances. Post sends POST request to the given url with the given POST arguments. The contents of dst will be replaced by the body and returned, if the dst is too small a new slice will be allocated. The function follows redirects. Use Do* for manually handling redirects. Empty POST body is sent if postArgs is nil. QueryString sets URI query string. QueryStringBytes sets URI query string. Referer sets Referer header value. RefererBytes sets Referer header value. Request returns Agent request instance. RetryIf controls whether a retry should be attempted after an error. By default, will use isIdempotent function from fasthttp Reuse enables the Agent instance to be used again after one request. If agent is reusable, then it should be released manually when it is no longer used. SendFile reads file and appends it to multipart form request. SendFiles reads files and appends them to multipart form request. Examples: SendFile("/path/to/file1", "fieldname1", "/path/to/file2") Set sets the given 'key: value' header. Use Add for setting multiple header values under the same key. SetBytesK sets the given 'key: value' header. Use AddBytesK for setting multiple header values under the same key. SetBytesKV sets the given 'key: value' header. Use AddBytesKV for setting multiple header values under the same key. SetBytesV sets the given 'key: value' header. Use AddBytesV for setting multiple header values under the same key. SetMaxConns sets up the maximum number of connections which may be established to all hosts listed in Addr. SetResponse sets custom response for the Agent instance. It is recommended obtaining custom response via AcquireResponse and release it manually in performance-critical code. String returns the status code, string body and errors of url. it's not safe to use Agent after calling [Agent.String] Struct returns the status code, bytes body and errors of URL. And bytes body will be unmarshalled to given v. it's not safe to use Agent after calling [Agent.Struct] TLSConfig sets tls config. Timeout sets request timeout duration. UserAgent sets User-Agent header value. UserAgentBytes sets User-Agent header value. XML sends an XML request. Agent : github.com/valyala/fasthttp.BalancingClient func AcquireAgent() *Agent func Delete(url string) *Agent func Get(url string) *Agent func Head(url string) *Agent func Patch(url string) *Agent func Post(url string) *Agent func Put(url string) *Agent func (*Agent).Add(k, v string) *Agent func (*Agent).AddBytesK(k []byte, v string) *Agent func (*Agent).AddBytesKV(k, v []byte) *Agent func (*Agent).AddBytesV(k string, v []byte) *Agent func (*Agent).BasicAuth(username, password string) *Agent func (*Agent).BasicAuthBytes(username, password []byte) *Agent func (*Agent).Body(body []byte) *Agent func (*Agent).BodyStream(bodyStream io.Reader, bodySize int) *Agent func (*Agent).BodyString(bodyString string) *Agent func (*Agent).Boundary(boundary string) *Agent func (*Agent).ConnectionClose() *Agent func (*Agent).ContentType(contentType string) *Agent func (*Agent).ContentTypeBytes(contentType []byte) *Agent func (*Agent).Cookie(key, value string) *Agent func (*Agent).CookieBytesK(key []byte, value string) *Agent func (*Agent).CookieBytesKV(key, value []byte) *Agent func (*Agent).Cookies(kv ...string) *Agent func (*Agent).CookiesBytesKV(kv ...[]byte) *Agent func (*Agent).Debug(w ...io.Writer) *Agent func (*Agent).Dest(dest []byte) *Agent func (*Agent).FileData(formFiles ...*FormFile) *Agent func (*Agent).Form(args *Args) *Agent func (*Agent).Host(host string) *Agent func (*Agent).HostBytes(host []byte) *Agent func (*Agent).InsecureSkipVerify() *Agent func (*Agent).JSON(v interface{}) *Agent func (*Agent).JSONDecoder(jsonDecoder utils.JSONUnmarshal) *Agent func (*Agent).JSONEncoder(jsonEncoder utils.JSONMarshal) *Agent func (*Agent).MaxRedirectsCount(count int) *Agent func (*Agent).MultipartForm(args *Args) *Agent func (*Agent).QueryString(queryString string) *Agent func (*Agent).QueryStringBytes(queryString []byte) *Agent func (*Agent).Referer(referer string) *Agent func (*Agent).RefererBytes(referer []byte) *Agent func (*Agent).RetryIf(retryIf RetryIfFunc) *Agent func (*Agent).Reuse() *Agent func (*Agent).SendFile(filename string, fieldname ...string) *Agent func (*Agent).SendFiles(filenamesAndFieldnames ...string) *Agent func (*Agent).Set(k, v string) *Agent func (*Agent).SetBytesK(k []byte, v string) *Agent func (*Agent).SetBytesKV(k, v []byte) *Agent func (*Agent).SetBytesV(k string, v []byte) *Agent func (*Agent).SetResponse(customResp *Response) *Agent func (*Agent).Timeout(timeout time.Duration) *Agent func (*Agent).TLSConfig(config *tls.Config) *Agent func (*Agent).UserAgent(userAgent string) *Agent func (*Agent).UserAgentBytes(userAgent []byte) *Agent func (*Agent).XML(v interface{}) *Agent func (*Client).Delete(url string) *Agent func (*Client).Get(url string) *Agent func (*Client).Head(url string) *Agent func (*Client).Patch(url string) *Agent func (*Client).Post(url string) *Agent func (*Client).Put(url string) *Agent func ReleaseAgent(a *Agent)
App denotes the Fiber application. AcquireCtx retrieves a new Ctx from the pool. Add allows you to specify a HTTP method to register a route All will register the handler on all HTTP methods Config returns the app config as value ( read-only ). Connect registers a route for CONNECT methods that establishes a tunnel to the server identified by the target resource. Delete registers a route for DELETE methods that deletes the specified resource. ErrorHandler is the application's method in charge of finding the appropriate handler for the given request. It searches any mounted sub fibers by their prefixes and if it finds a match, it uses that error handler. Otherwise it uses the configured error handler for the app, which if not set is the DefaultErrorHandler. Get registers a route for GET methods that requests a representation of the specified resource. Requests using GET should only retrieve data. GetRoute Get route by name GetRoutes Get all routes. When filterUseOption equal to true, it will filter the routes registered by the middleware. Group is used for Routes with common prefix to define a new sub-router with optional middleware. api := app.Group("/api") api.Get("/users", handler) Handler returns the server handler. HandlersCount returns the amount of registered handlers. Head registers a route for HEAD methods that asks for a response identical to that of a GET request, but without the response body. Hooks returns the hook struct to register hooks. Listen serves HTTP requests from the given addr. app.Listen(":8080") app.Listen("127.0.0.1:8080") ListenMutualTLS serves HTTPS requests from the given addr. certFile, keyFile and clientCertFile are the paths to TLS certificate and key file: app.ListenMutualTLS(":8080", "./cert.pem", "./cert.key", "./client.pem") ListenMutualTLSWithCertificate serves HTTPS requests from the given addr. cert is a tls.Certificate and clientCertPool is a *x509.CertPool: app.ListenMutualTLS(":8080", cert, clientCertPool) ListenTLS serves HTTPS requests from the given addr. certFile and keyFile are the paths to TLS certificate and key file: app.ListenTLS(":8080", "./cert.pem", "./cert.key") ListenTLS serves HTTPS requests from the given addr. cert is a tls.Certificate app.ListenTLSWithCertificate(":8080", cert) Listener can be used to pass a custom listener. Mount attaches another app instance as a sub-router along a routing path. It's very useful to split up a large API as many independent routers and compose them as a single service using Mount. The fiber's error handler and any of the fiber's sub apps are added to the application's error handlers to be invoked on errors that happen within the prefix route. The MountPath property contains one or more path patterns on which a sub-app was mounted. Name Assign name to specific route. Options registers a route for OPTIONS methods that is used to describe the communication options for the target resource. Patch registers a route for PATCH methods that is used to apply partial modifications to a resource. Post registers a route for POST methods that is used to submit an entity to the specified resource, often causing a change in state or side effects on the server. Put registers a route for PUT methods that replaces all current representations of the target resource with the request payload. ReleaseCtx releases the ctx back into the pool. Route is used to define routes with a common prefix inside the common function. Uses Group method to define new sub-router. Server returns the underlying fasthttp server SetTLSHandler You can use SetTLSHandler to use ClientHelloInfo when using TLS with Listener. Shutdown gracefully shuts down the server without interrupting any active connections. Shutdown works by first closing all open listeners and then waiting indefinitely for all connections to return to idle before shutting down. Make sure the program doesn't exit and waits instead for Shutdown to return. Shutdown does not close keepalive connections so its recommended to set ReadTimeout to something else than 0. ShutdownWithContext shuts down the server including by force if the context's deadline is exceeded. Make sure the program doesn't exit and waits instead for ShutdownWithTimeout to return. ShutdownWithContext does not close keepalive connections so its recommended to set ReadTimeout to something else than 0. ShutdownWithTimeout gracefully shuts down the server without interrupting any active connections. However, if the timeout is exceeded, ShutdownWithTimeout will forcefully close any active connections. ShutdownWithTimeout works by first closing all open listeners and then waiting for all connections to return to idle before shutting down. Make sure the program doesn't exit and waits instead for ShutdownWithTimeout to return. ShutdownWithTimeout does not close keepalive connections so its recommended to set ReadTimeout to something else than 0. Stack returns the raw router stack. Static will create a file server serving static files Test is used for internal debugging by passing a *http.Request. Timeout is optional and defaults to 1s, -1 will disable it completely. Trace registers a route for TRACE methods that performs a message loop-back test along the path to the target resource. Use registers a middleware route that will match requests with the provided prefix (which is optional and defaults to "/"). app.Use(func(c *fiber.Ctx) error { return c.Next() }) app.Use("/api", func(c *fiber.Ctx) error { return c.Next() }) app.Use("/api", handler, func(c *fiber.Ctx) error { return c.Next() }) This method will match all HTTP verbs: GET, POST, PUT, HEAD etc... *App : Router func New(config ...Config) *App func (*Ctx).App() *App func (*App).Mount(prefix string, subApp *App) Router func (*Group).Mount(prefix string, subApp *App) Router func Router.Mount(prefix string, fiber *App) Router func github.com/limanmys/render-engine/app/routes.Install(app *App)
Args represents query arguments. It is forbidden copying Args instances. Create new instances instead and use CopyTo(). Args instance MUST NOT be used from concurrently running goroutines. Copy from fasthttp
Client implements http client. It is safe calling Client methods from concurrently running goroutines. When set by an external client of Fiber it will use the provided implementation of a JSONUnmarshal Allowing for flexibility in using another json library for decoding When set by an external client of Fiber it will use the provided implementation of a JSONMarshal Allowing for flexibility in using another json library for encoding NoDefaultUserAgentHeader when set to true, causes the default User-Agent header to be excluded from the Request. UserAgent is used in User-Agent request header. Delete sends DELETE request to the given URL. Get returns an agent with http method GET. Head returns an agent with http method GET. Patch sends PATCH request to the given URL. Post sends POST request to the given URL. Put sends PUT request to the given URL. func AcquireClient() *Client func ReleaseClient(c *Client)
Colors is a struct to define custom colors for Fiber app and middlewares. Black color. Optional. Default: "\u001b[90m" Blue color. Optional. Default: "\u001b[94m" Cyan color. Optional. Default: "\u001b[96m" Green color. Optional. Default: "\u001b[92m" Magenta color. Optional. Default: "\u001b[95m" Red color. Optional. Default: "\u001b[91m" Reset color. Optional. Default: "\u001b[0m" White color. Optional. Default: "\u001b[97m" Yellow color. Optional. Default: "\u001b[93m" var DefaultColors
Config is a struct holding the server settings. This function allows to setup app name for the app Default: nil Max body size that the server accepts. -1 will decline any body size Default: 4 * 1024 * 1024 When set to true, enables case sensitive routing. E.g. "/FoO" and "/foo" are treated as different routes. By default this is disabled and both "/FoO" and "/foo" will execute the same handler. Default: false You can define custom color scheme. They'll be used for startup message, route list and some middlewares. Optional. Default: DefaultColors CompressedFileSuffix adds suffix to the original file name and tries saving the resulting compressed file under the new file name. Default: ".fiber.gz" Maximum number of concurrent connections. Default: 256 * 1024 When set to true, causes the default Content-Type header to be excluded from the response. Default: false When set to true, causes the default date header to be excluded from the response. Default: false When set to true, disables header normalization. By default all header names are normalized: conteNT-tYPE -> Content-Type. Default: false When set to true, disables keep-alive connections. The server will close incoming connections after sending the first response to client. Default: false Will not pre parse Multipart Form data if set to true. This option is useful for servers that desire to treat multipart form data as a binary blob, or choose when to parse the data. Server pre parses multipart form data by default. When set to true, it will not print out the «Fiber» ASCII art and listening address. Default: false Enable or disable ETag header generation, since both weak and strong etags are generated using the same hashing method (CRC-32). Weak ETags are the default when enabled. Default: false If set to true, c.IP() and c.IPs() will validate IP addresses before returning them. Also, c.IP() will return only the first valid IP rather than just the raw header WARNING: this has a performance cost associated with it. Default: false If set to true, will print all routes with their method, path and handler. Default: false EnableSplittingOnParsers splits the query/body/header parameters by comma when it's true. For example, you can use it to parse multiple values from a query parameter like this: /api?foo=bar,baz == foo[]=bar&foo[]=baz Optional. Default: false If you find yourself behind some sort of proxy, like a load balancer, then certain header information may be sent to you using special X-Forwarded-* headers or the Forwarded header. For example, the Host HTTP header is usually used to return the requested host. But when you’re behind a proxy, the actual host may be stored in an X-Forwarded-Host header. If you are behind a proxy, you should enable TrustedProxyCheck to prevent header spoofing. If you enable EnableTrustedProxyCheck and leave TrustedProxies empty Fiber will skip all headers that could be spoofed. If request ip in TrustedProxies whitelist then: 1. c.Protocol() get value from X-Forwarded-Proto, X-Forwarded-Protocol, X-Forwarded-Ssl or X-Url-Scheme header 2. c.IP() get value from ProxyHeader header. 3. c.Hostname() get value from X-Forwarded-Host header But if request ip NOT in Trusted Proxies whitelist then: 1. c.Protocol() WON't get value from X-Forwarded-Proto, X-Forwarded-Protocol, X-Forwarded-Ssl or X-Url-Scheme header, will return https in case when tls connection is handled by the app, of http otherwise 2. c.IP() WON'T get value from ProxyHeader header, will return RemoteIP() from fasthttp context 3. c.Hostname() WON'T get value from X-Forwarded-Host header, fasthttp.Request.URI().Host() will be used to get the hostname. Default: false ErrorHandler is executed when an error is returned from fiber.Handler. Default: DefaultErrorHandler GETOnly rejects all non-GET requests if set to true. This option is useful as anti-DoS protection for servers accepting only GET requests. The request size is limited by ReadBufferSize if GETOnly is set. Default: false The maximum amount of time to wait for the next request when keep-alive is enabled. If IdleTimeout is zero, the value of ReadTimeout is used. Default: unlimited When set to true, this relinquishes the 0-allocation promise in certain cases in order to access the handler values (e.g. request bodies) in an immutable fashion so that these values are available even if you return from handler. Default: false When set by an external client of Fiber it will use the provided implementation of a JSONUnmarshal Allowing for flexibility in using another json library for decoding Default: json.Unmarshal When set by an external client of Fiber it will use the provided implementation of a JSONMarshal Allowing for flexibility in using another json library for encoding Default: json.Marshal Known networks are "tcp", "tcp4" (IPv4-only), "tcp6" (IPv6-only) WARNING: When prefork is set to true, only "tcp4" and "tcp6" can be chose. Default: NetworkTCP4 PassLocalsToViews Enables passing of the locals set on a fiber.Ctx to the template engine Default: false When set to true, this will spawn multiple Go processes listening on the same port. Default: false ProxyHeader will enable c.IP() to return the value of the given header key By default c.IP() will return the Remote IP from the TCP connection This property can be useful if you are behind a load balancer: X-Forwarded-* NOTE: headers are easily spoofed and the detected IP addresses are unreliable. Default: "" Per-connection buffer size for requests' reading. This also limits the maximum header size. Increase this buffer if your clients send multi-KB RequestURIs and/or multi-KB headers (for example, BIG cookies). Default: 4096 The amount of time allowed to read the full request including body. It is reset after the request handler has returned. The connection's read deadline is reset when the connection opens. Default: unlimited Aggressively reduces memory usage at the cost of higher CPU usage if set to true. Try enabling this option only if the server consumes too much memory serving mostly idle keep-alive connections. This may reduce memory usage by more than 50%. Default: false RequestMethods provides customizibility for HTTP methods. You can add/remove methods as you wish. Optional. Default: DefaultMethods Enables the "Server: value" HTTP header. Default: "" StreamRequestBody enables request body streaming, and calls the handler sooner when given body is larger then the current limit. When set to true, the router treats "/foo" and "/foo/" as different. By default this is disabled and both "/foo" and "/foo/" will execute the same handler. Default: false Read EnableTrustedProxyCheck doc. Default: []string When set to true, converts all encoded characters in the route back before setting the path for the context, so that the routing, the returning of the current url from the context `ctx.Path()` and the parameters `ctx.Params(%key%)` with decoded characters will work Default: false Views is the interface that wraps the Render function. Default: nil Views Layout is the global layout for all template render until override on Render function. Default: "" Per-connection buffer size for responses' writing. Default: 4096 The maximum duration before timing out writes of the response. It is reset after the request handler has returned. Default: unlimited XMLEncoder set by an external client of Fiber it will use the provided implementation of a XMLMarshal Allowing for flexibility in using another XML library for encoding Default: xml.Marshal func (*App).Config() Config func New(config ...Config) *App func RoutePatternMatch(path, pattern string, cfg ...Config) bool
Data []string ID TypeConstraint RegexCompiler *regexp.Regexp (*Constraint) CheckConstraint(param string) bool
ConversionError Conversion error exposes the internal schema.ConversionError for public use.
Ctx represents the Context which hold the HTTP request and response. It has methods for the request query string, parameters, body, HTTP headers and so on. Accepts checks if the specified extensions or content types are acceptable. AcceptsCharsets checks if the specified charset is acceptable. AcceptsEncodings checks if the specified encoding is acceptable. AcceptsLanguages checks if the specified language is acceptable. AllParams Params is used to get all route parameters. Using Params method to get params. App returns the *App reference to the instance of the Fiber application Append the specified value to the HTTP response header field. If the header is not already set, it creates the header with the specified value. Attachment sets the HTTP response Content-Disposition header field to attachment. BaseURL returns (protocol + host + base path). Bind Add vars to default view var map binding to template engine. Variables are read by the Render method and may be overwritten. Body contains the raw body submitted in a POST request. This method will decompress the body if the 'Content-Encoding' header is provided. It returns the original (or decompressed) body data which is valid only within the handler. Don't store direct references to the returned data. If you need to keep the body's data later, make a copy or use the Immutable option. BodyParser binds the request body to a struct. It supports decoding the following content types based on the Content-Type header: application/json, application/xml, application/x-www-form-urlencoded, multipart/form-data If none of the content types above are matched, it will return a ErrUnprocessableEntity error BodyRaw contains the raw body submitted in a POST request. Returned value is only valid within the handler. Do not store any references. Make copies or use the Immutable setting instead. ClearCookie expires a specific cookie by key on the client side. If no key is provided it expires all cookies that came with the request. ClientHelloInfo return CHI from context Context returns *fasthttp.RequestCtx that carries a deadline a cancellation signal, and other values across API boundaries. Cookie sets a cookie by passing a cookie struct. CookieParser is used to bind cookies to a struct Cookies are used for getting a cookie value by key. Defaults to the empty string "" if the cookie doesn't exist. If a default value is given, it will return that value if the cookie doesn't exist. The returned value is only valid within the handler. Do not store any references. Make copies or use the Immutable setting to use the value outside the Handler. Download transfers the file from path as an attachment. Typically, browsers will prompt the user for download. By default, the Content-Disposition header filename= parameter is the filepath (this typically appears in the browser dialog). Override this default with the filename parameter. FormFile returns the first file by key from a MultipartForm. FormValue returns the first value by key from a MultipartForm. Search is performed in QueryArgs, PostArgs, MultipartForm and FormFile in this particular order. Defaults to the empty string "" if the form value doesn't exist. If a default value is given, it will return that value if the form value does not exist. Returned value is only valid within the handler. Do not store any references. Make copies or use the Immutable setting instead. Format performs content-negotiation on the Accept HTTP header. It uses Accepts to select a proper format. If the header is not specified or there is no proper format, text/plain is used. Fresh returns true when the response is still “fresh” in the client's cache, otherwise false is returned to indicate that the client cache is now stale and the full response should be sent. When a client sends the Cache-Control: no-cache request header to indicate an end-to-end reload request, this module will return false to make handling these requests transparent. https://github.com/jshttp/fresh/blob/10e0471669dbbfbfd8de65bc6efac2ddd0bfa057/index.js#L33 Get returns the HTTP request header specified by field. Field names are case-insensitive Returned value is only valid within the handler. Do not store any references. Make copies or use the Immutable setting instead. GetReqHeaders returns the HTTP request headers. Returned value is only valid within the handler. Do not store any references. Make copies or use the Immutable setting instead. GetRespHeader returns the HTTP response header specified by field. Field names are case-insensitive Returned value is only valid within the handler. Do not store any references. Make copies or use the Immutable setting instead. GetRespHeaders returns the HTTP response headers. Returned value is only valid within the handler. Do not store any references. Make copies or use the Immutable setting instead. GetRouteURL generates URLs to named routes, with parameters. URLs are relative, for example: "/user/1831" Hostname contains the hostname derived from the X-Forwarded-Host or Host HTTP header. Returned value is only valid within the handler. Do not store any references. Make copies or use the Immutable setting instead. Please use Config.EnableTrustedProxyCheck to prevent header spoofing, in case when your app is behind the proxy. IP returns the remote IP address of the request. If ProxyHeader and IP Validation is configured, it will parse that header and return the first valid IP address. Please use Config.EnableTrustedProxyCheck to prevent header spoofing, in case when your app is behind the proxy. IPs returns a string slice of IP addresses specified in the X-Forwarded-For request header. When IP validation is enabled, only valid IPs are returned. Is returns the matching content type, if the incoming request's Content-Type HTTP header field matches the MIME type specified by the type parameter IsFromLocal will return true if request came from local. (*Ctx) IsProxyTrusted() bool JSON converts any interface or string to JSON. Array and slice values encode as JSON arrays, except that []byte encodes as a base64-encoded string, and a nil slice encodes as the null JSON value. This method also sets the content header to application/json. JSONP sends a JSON response with JSONP support. This method is identical to JSON, except that it opts-in to JSONP callback support. By default, the callback name is simply callback. Links joins the links followed by the property to populate the response's Link HTTP header field. Locals makes it possible to pass interface{} values under keys scoped to the request and therefore available to all following routes that match the request. Location sets the response Location HTTP header to the specified path parameter. Method returns the HTTP request method for the context, optionally overridden by the provided argument. If no override is given or if the provided override is not a valid HTTP method, it returns the current method from the context. Otherwise, it updates the context's method and returns the overridden method as a string. MultipartForm parse form entries from binary. This returns a map[string][]string, so given a key the value will be a string slice. Next executes the next method in the stack that matches the current route. OriginalURL contains the original request URL. Returned value is only valid within the handler. Do not store any references. Make copies or use the Immutable setting to use the value outside the Handler. Params is used to get the route parameters. Defaults to empty string "" if the param doesn't exist. If a default value is given, it will return that value if the param doesn't exist. Returned value is only valid within the handler. Do not store any references. Make copies or use the Immutable setting to use the value outside the Handler. ParamsInt is used to get an integer from the route parameters it defaults to zero if the parameter is not found or if the parameter cannot be converted to an integer If a default value is given, it will return that value in case the param doesn't exist or cannot be converted to an integer ParamsParser binds the param string to a struct. Path returns the path part of the request URL. Optionally, you could override the path. Port returns the remote port of the request. Protocol contains the request protocol string: http or https for TLS requests. Please use Config.EnableTrustedProxyCheck to prevent header spoofing, in case when your app is behind the proxy. Queries returns a map of query parameters and their values. GET /?name=alex&wanna_cake=2&id= Queries()["name"] == "alex" Queries()["wanna_cake"] == "2" Queries()["id"] == "" GET /?field1=value1&field1=value2&field2=value3 Queries()["field1"] == "value2" Queries()["field2"] == "value3" GET /?list_a=1&list_a=2&list_a=3&list_b[]=1&list_b[]=2&list_b[]=3&list_c=1,2,3 Queries()["list_a"] == "3" Queries()["list_b[]"] == "3" Queries()["list_c"] == "1,2,3" GET /api/search?filters.author.name=John&filters.category.name=Technology&filters[customer][name]=Alice&filters[status]=pending Queries()["filters.author.name"] == "John" Queries()["filters.category.name"] == "Technology" Queries()["filters[customer][name]"] == "Alice" Queries()["filters[status]"] == "pending" Query returns the query string parameter in the url. Defaults to empty string "" if the query doesn't exist. If a default value is given, it will return that value if the query doesn't exist. Returned value is only valid within the handler. Do not store any references. Make copies or use the Immutable setting to use the value outside the Handler. QueryBool returns bool value of key string parameter in the url. Default to empty or invalid key is true. Get /?name=alex&want_pizza=false&id= QueryBool("want_pizza") == false QueryBool("want_pizza", true) == false QueryBool("name") == false QueryBool("name", true) == true QueryBool("id") == false QueryBool("id", true) == true QueryFloat returns float64 value of key string parameter in the url. Default to empty or invalid key is 0. GET /?name=alex&amount=32.23&id= QueryFloat("amount") = 32.23 QueryFloat("amount", 3) = 32.23 QueryFloat("name", 1) = 1 QueryFloat("name") = 0 QueryFloat("id", 3) = 3 QueryInt returns integer value of key string parameter in the url. Default to empty or invalid key is 0. GET /?name=alex&wanna_cake=2&id= QueryInt("wanna_cake", 1) == 2 QueryInt("name", 1) == 1 QueryInt("id", 1) == 1 QueryInt("id") == 0 QueryParser binds the query string to a struct. Range returns a struct containing the type and a slice of ranges. Redirect to the URL derived from the specified path, with specified status. If status is not specified, status defaults to 302 Found. RedirectBack to the URL to referer If status is not specified, status defaults to 302 Found. RedirectToRoute to the Route registered in the app with appropriate parameters If status is not specified, status defaults to 302 Found. If you want to send queries to route, you must add "queries" key typed as map[string]string to params. Render a template with data and sends a text/html response. We support the following engines: html, amber, handlebars, mustache, pug ReqHeaderParser binds the request header strings to a struct. Request return the *fasthttp.Request object This allows you to use all fasthttp request methods https://godoc.org/github.com/valyala/fasthttp#Request Response return the *fasthttp.Response object This allows you to use all fasthttp response methods https://godoc.org/github.com/valyala/fasthttp#Response RestartRouting instead of going to the next handler. This may be useful after changing the request path. Note that handlers might be executed again. Route returns the matched Route struct. SaveFile saves any multipart file to disk. SaveFileToStorage saves any multipart file to an external storage system. Secure returns whether a secure connection was established. Send sets the HTTP response body without copying it. From this point onward the body argument must not be changed. SendFile transfers the file from the given path. The file is not compressed by default, enable this by passing a 'true' argument Sets the Content-Type response HTTP header field based on the filenames extension. SendStatus sets the HTTP status code and if the response body is empty, it sets the correct status message in the body. SendStream sets response body stream and optional body size. SendString sets the HTTP response body for string types. This means no type assertion, recommended for faster performance Set sets the response's HTTP header field to the specified key, value. SetUserContext sets a context implementation by user. Stale is not implemented yet, pull requests are welcome! Status sets the HTTP status for the response. This method is chainable. String returns unique string representation of the ctx. The returned value may be useful for logging. Subdomains returns a string slice of subdomains in the domain name of the request. The subdomain offset, which defaults to 2, is used for determining the beginning of the subdomain segments. Type sets the Content-Type HTTP header to the MIME type specified by the file extension. UserContext returns a context implementation that was set by user earlier or returns a non-nil, empty context,if it was not set earlier. Vary adds the given header field to the Vary response header. This will append the header, if not already listed, otherwise leaves it listed in the current location. Write appends p into response body. WriteString appends s to response body. Writef appends f & a into response body writer. XHR returns a Boolean property, that is true, if the request's X-Requested-With header field is XMLHttpRequest, indicating that the request was issued by a client library (such as jQuery). XML converts any interface or string to XML. This method also sets the content header to application/xml. *Ctx : github.com/ChrisTrenkamp/goxpath/tree.Result *Ctx : github.com/opentracing/opentracing-go.TextMapWriter *Ctx : fmt.Stringer *Ctx : internal/bisect.Writer *Ctx : io.StringWriter *Ctx : io.Writer func (*App).AcquireCtx(fctx *fasthttp.RequestCtx) *Ctx func (*Ctx).Status(status int) *Ctx func (*Ctx).Type(extension string, charset ...string) *Ctx func DefaultErrorHandler(c *Ctx, err error) error func (*App).ErrorHandler(ctx *Ctx, err error) error func (*App).ReleaseCtx(c *Ctx) func github.com/limanmys/render-engine/app/handlers.BackgroundJob(c *Ctx) error func github.com/limanmys/render-engine/app/handlers.CommandRunner(c *Ctx) error func github.com/limanmys/render-engine/app/handlers.CreateCronJob(c *Ctx) error func github.com/limanmys/render-engine/app/handlers.DeleteCronJob(c *Ctx) error func github.com/limanmys/render-engine/app/handlers.DownloadFile(c *Ctx) error func github.com/limanmys/render-engine/app/handlers.ExtensionLogger(c *Ctx) error func github.com/limanmys/render-engine/app/handlers.ExtensionRunner(c *Ctx) error func github.com/limanmys/render-engine/app/handlers.ExternalAPI(c *Ctx) error func github.com/limanmys/render-engine/app/handlers.GetFile(c *Ctx) error func github.com/limanmys/render-engine/app/handlers.IndexCronJobs(c *Ctx) error func github.com/limanmys/render-engine/app/handlers.KeepTunnelAlive(c *Ctx) error func github.com/limanmys/render-engine/app/handlers.OpenTunnel(c *Ctx) error func github.com/limanmys/render-engine/app/handlers.OutsideCommandRunner(c *Ctx) error func github.com/limanmys/render-engine/app/handlers.PutFile(c *Ctx) error func github.com/limanmys/render-engine/app/handlers.ScriptRunner(c *Ctx) error func github.com/limanmys/render-engine/app/handlers.SetExtensionDb(c *Ctx) error func github.com/limanmys/render-engine/app/handlers.Verify(c *Ctx) error func github.com/limanmys/render-engine/app/handlers.(*QueueHandler).Create(c *Ctx) error func github.com/limanmys/render-engine/app/handlers.(*QueueHandler).Delete(c *Ctx) error func github.com/limanmys/render-engine/app/handlers.(*QueueHandler).Index(c *Ctx) error func github.com/limanmys/render-engine/pkg/helpers.GetFormData(c *Ctx) map[string]string
EmptyFieldError error exposes the internal schema.EmptyFieldError for public use.
Error represents an error that occurred while handling a request. Code int Message string Error makes it compatible with the `error` interface. *Error : error func NewError(code int, message ...string) *Error func github.com/limanmys/render-engine/pkg/logger.FiberError(code int, message string) *Error var ErrBadGateway *Error var ErrBadRequest *Error var ErrConflict *Error var ErrExpectationFailed *Error var ErrFailedDependency *Error var ErrForbidden *Error var ErrGatewayTimeout *Error var ErrGone *Error var ErrHTTPVersionNotSupported *Error var ErrInsufficientStorage *Error var ErrInternalServerError *Error var ErrLengthRequired *Error var ErrLocked *Error var ErrLoopDetected *Error var ErrMethodNotAllowed *Error var ErrMisdirectedRequest *Error var ErrNetworkAuthenticationRequired *Error var ErrNotAcceptable *Error var ErrNotExtended *Error var ErrNotFound *Error var ErrNotImplemented *Error var ErrPaymentRequired *Error var ErrPreconditionFailed *Error var ErrPreconditionRequired *Error var ErrProxyAuthRequired *Error var ErrRequestedRangeNotSatisfiable *Error var ErrRequestEntityTooLarge *Error var ErrRequestHeaderFieldsTooLarge *Error var ErrRequestTimeout *Error var ErrRequestURITooLong *Error var ErrServiceUnavailable *Error var ErrTeapot *Error var ErrTooEarly *Error var ErrTooManyRequests *Error var ErrUnauthorized *Error var ErrUnavailableForLegalReasons *Error var ErrUnprocessableEntity *Error var ErrUnsupportedMediaType *Error var ErrUpgradeRequired *Error var ErrVariantAlsoNegotiates *Error
ErrorHandler defines a function that will process all errors returned from any handlers in the stack cfg := fiber.Config{} cfg.ErrorHandler = func(c *Ctx, err error) error { code := StatusInternalServerError var e *fiber.Error if errors.As(err, &e) { code = e.Code } c.Set(HeaderContentType, MIMETextPlainCharsetUTF8) return c.Status(code).SendString(err.Error()) } app := fiber.New(cfg)
FormFile represents multipart form file Content is form file's content Fieldname is form file's field name Name is form file's name func AcquireFormFile() *FormFile func ReleaseFormFile(ff *FormFile) func (*Agent).FileData(formFiles ...*FormFile) *Agent
Group struct Prefix string Add allows you to specify a HTTP method to register a route All will register the handler on all HTTP methods Connect registers a route for CONNECT methods that establishes a tunnel to the server identified by the target resource. Delete registers a route for DELETE methods that deletes the specified resource. Get registers a route for GET methods that requests a representation of the specified resource. Requests using GET should only retrieve data. Group is used for Routes with common prefix to define a new sub-router with optional middleware. api := app.Group("/api") api.Get("/users", handler) Head registers a route for HEAD methods that asks for a response identical to that of a GET request, but without the response body. Mount attaches another app instance as a sub-router along a routing path. It's very useful to split up a large API as many independent routers and compose them as a single service using Mount. Name Assign name to specific route or group itself. If this method is used before any route added to group, it'll set group name and OnGroupNameHook will be used. Otherwise, it'll set route name and OnName hook will be used. Options registers a route for OPTIONS methods that is used to describe the communication options for the target resource. Patch registers a route for PATCH methods that is used to apply partial modifications to a resource. Post registers a route for POST methods that is used to submit an entity to the specified resource, often causing a change in state or side effects on the server. Put registers a route for PUT methods that replaces all current representations of the target resource with the request payload. Route is used to define routes with a common prefix inside the common function. Uses Group method to define new sub-router. Static will create a file server serving static files Trace registers a route for TRACE methods that performs a message loop-back test along the path to the target resource. Use registers a middleware route that will match requests with the provided prefix (which is optional and defaults to "/"). app.Use(func(c *fiber.Ctx) error { return c.Next() }) app.Use("/api", func(c *fiber.Ctx) error { return c.Next() }) app.Use("/api", handler, func(c *fiber.Ctx) error { return c.Next() }) This method will match all HTTP verbs: GET, POST, PUT, HEAD etc... *Group : Router
Handler defines a function to serve HTTP requests.
Hooks is a struct to use it with App. OnFork is a hook to execute user function after fork process. OnGroup is a hook to execute user functions on each group registeration. Also you can get group properties by group parameter. OnGroupName is a hook to execute user functions on each group naming. Also you can get group properties by group parameter. WARN: OnGroupName only works with naming groups, not routes. OnListen is a hook to execute user functions on Listen, ListenTLS, Listener. OnMount is a hook to execute user function after mounting process. The mount event is fired when sub-app is mounted on a parent app. The parent app is passed as a parameter. It works for app and group mounting. OnName is a hook to execute user functions on each route naming. Also you can get route properties by route parameter. WARN: OnName only works with naming routes, not groups. OnRoute is a hook to execute user functions on each route registeration. Also you can get route properties by route parameter. OnShutdown is a hook to execute user functions after Shutdown. func (*App).Hooks() *Hooks
An InvalidUnmarshalError describes an invalid argument passed to Unmarshal. (The argument to Unmarshal must be a non-nil pointer.)
ListenData is a struct to use it with OnListenHandler Host string Port string TLS bool
Map is a shortcut for map[string]interface{}, useful for JSON returns func (*Ctx).Bind(vars Map) error func (*Ctx).GetRouteURL(routeName string, params Map) (string, error) func (*Ctx).RedirectToRoute(routeName string, params Map, status ...int) error
A MarshalerError represents an error from calling a MarshalJSON or MarshalText method.
MultiError error exposes the internal schema.MultiError for public use.
OnRouteHandler Handlers define a function to create hooks for Fiber.
OnRouteHandler Handlers define a function to create hooks for Fiber.
OnRouteHandler Handlers define a function to create hooks for Fiber.
OnRouteHandler Handlers define a function to create hooks for Fiber.
OnRouteHandler Handlers define a function to create hooks for Fiber.
OnRouteHandler Handlers define a function to create hooks for Fiber.
OnRouteHandler Handlers define a function to create hooks for Fiber.
OnRouteHandler Handlers define a function to create hooks for Fiber.
ParserConfig form decoder config for SetParserDecoder IgnoreUnknownKeys bool ParserType []ParserType SetAliasTag string ZeroEmpty bool func SetParserDecoder(parserConfig ParserConfig)
ParserType require two element, type and converter for register. Use ParserType with BodyParser for parsing custom type in form data. Converter func(string) reflect.Value Customtype interface{}
Range data for c.Range Ranges []struct{Start int; End int} Type string func (*Ctx).Range(size int) (Range, error)
Request represents HTTP request. It is forbidden copying Request instances. Create new instances and use CopyTo instead. Request instance MUST NOT be used from concurrently running goroutines. Copy from fasthttp
Response represents HTTP response. It is forbidden copying Response instances. Create new instances and use CopyTo instead. Response instance MUST NOT be used from concurrently running goroutines. Copy from fasthttp
RetryIfFunc signature of retry if function Request argument passed to RetryIfFunc, if there are any request errors. Copy from fasthttp
Route is a struct that holds all metadata for each registered handler. // Ctx handlers Public fields // HTTP method // Route's name // Case sensitive param keys // Original registered route path func (*App).GetRoute(name string) Route func (*App).GetRoutes(filterUseOption ...bool) []Route func (*App).Stack() [][]*Route func (*Ctx).Route() *Route
RouteMessage is some message need to be print when server starts
Router defines all router handle interface, including app and group router. ( Router) Add(method, path string, handlers ...Handler) Router ( Router) All(path string, handlers ...Handler) Router ( Router) Connect(path string, handlers ...Handler) Router ( Router) Delete(path string, handlers ...Handler) Router ( Router) Get(path string, handlers ...Handler) Router ( Router) Group(prefix string, handlers ...Handler) Router ( Router) Head(path string, handlers ...Handler) Router ( Router) Mount(prefix string, fiber *App) Router ( Router) Name(name string) Router ( Router) Options(path string, handlers ...Handler) Router ( Router) Patch(path string, handlers ...Handler) Router ( Router) Post(path string, handlers ...Handler) Router ( Router) Put(path string, handlers ...Handler) Router ( Router) Route(prefix string, fn func(router Router), name ...string) Router ( Router) Static(prefix, root string, config ...Static) Router ( Router) Trace(path string, handlers ...Handler) Router ( Router) Use(args ...interface{}) Router *App *Group func (*App).Add(method, path string, handlers ...Handler) Router func (*App).All(path string, handlers ...Handler) Router func (*App).Connect(path string, handlers ...Handler) Router func (*App).Delete(path string, handlers ...Handler) Router func (*App).Get(path string, handlers ...Handler) Router func (*App).Group(prefix string, handlers ...Handler) Router func (*App).Head(path string, handlers ...Handler) Router func (*App).Mount(prefix string, subApp *App) Router func (*App).Name(name string) Router func (*App).Options(path string, handlers ...Handler) Router func (*App).Patch(path string, handlers ...Handler) Router func (*App).Post(path string, handlers ...Handler) Router func (*App).Put(path string, handlers ...Handler) Router func (*App).Route(prefix string, fn func(router Router), name ...string) Router func (*App).Static(prefix, root string, config ...Static) Router func (*App).Trace(path string, handlers ...Handler) Router func (*App).Use(args ...interface{}) Router func (*Group).Add(method, path string, handlers ...Handler) Router func (*Group).All(path string, handlers ...Handler) Router func (*Group).Connect(path string, handlers ...Handler) Router func (*Group).Delete(path string, handlers ...Handler) Router func (*Group).Get(path string, handlers ...Handler) Router func (*Group).Group(prefix string, handlers ...Handler) Router func (*Group).Head(path string, handlers ...Handler) Router func (*Group).Mount(prefix string, subApp *App) Router func (*Group).Name(name string) Router func (*Group).Options(path string, handlers ...Handler) Router func (*Group).Patch(path string, handlers ...Handler) Router func (*Group).Post(path string, handlers ...Handler) Router func (*Group).Put(path string, handlers ...Handler) Router func (*Group).Route(prefix string, fn func(router Router), name ...string) Router func (*Group).Static(prefix, root string, config ...Static) Router func (*Group).Trace(path string, handlers ...Handler) Router func (*Group).Use(args ...interface{}) Router func Router.Add(method, path string, handlers ...Handler) Router func Router.All(path string, handlers ...Handler) Router func Router.Connect(path string, handlers ...Handler) Router func Router.Delete(path string, handlers ...Handler) Router func Router.Get(path string, handlers ...Handler) Router func Router.Group(prefix string, handlers ...Handler) Router func Router.Head(path string, handlers ...Handler) Router func Router.Mount(prefix string, fiber *App) Router func Router.Name(name string) Router func Router.Options(path string, handlers ...Handler) Router func Router.Patch(path string, handlers ...Handler) Router func Router.Post(path string, handlers ...Handler) Router func Router.Put(path string, handlers ...Handler) Router func Router.Route(prefix string, fn func(router Router), name ...string) Router func Router.Static(prefix, root string, config ...Static) Router func Router.Trace(path string, handlers ...Handler) Router func Router.Use(args ...interface{}) Router
Static defines configuration options when defining static assets. When set to true, enables directory browsing. Optional. Default value false. When set to true, enables byte range requests. Optional. Default value false Expiration duration for inactive file handlers. Use a negative time.Duration to disable it. Optional. Default value 10 * time.Second. When set to true, the server tries minimizing CPU usage by caching compressed files. This works differently than the github.com/gofiber/compression middleware. Optional. Default value false When set to true, enables direct download. Optional. Default value false. The name of the index file for serving a directory. Optional. Default value "index.html". The value for the Cache-Control HTTP-header that is set on the file response. MaxAge is defined in seconds. Optional. Default value 0. ModifyResponse defines a function that allows you to alter the response. Optional. Default: nil Next defines a function to skip this middleware when returned true. Optional. Default: nil func (*App).Static(prefix, root string, config ...Static) Router func (*Group).Static(prefix, root string, config ...Static) Router func Router.Static(prefix, root string, config ...Static) Router
Storage interface for communicating with different database/key-value providers Close closes the storage and will stop any running garbage collectors and open connections. Delete deletes the value for the given key. It returns no error if the storage does not contain the key, Get gets the value for the given key. `nil, nil` is returned when the key does not exist Reset resets the storage and delete all keys. Set stores the given value for the given key along with an expiration value, 0 means no expiration. Empty key or value will be ignored without an error. Storage : io.Closer func (*Ctx).SaveFileToStorage(fileheader *multipart.FileHeader, path string, storage Storage) error
A SyntaxError is a description of a JSON syntax error.
TLSHandler object GetClientInfo Callback function to set ClientHelloInfo Must comply with the method structure of https://cs.opensource.google/go/go/+/refs/tags/go1.20:src/crypto/tls/common.go;l=554-563 Since we overlay the method of the tls config in the listener method func (*App).SetTLSHandler(tlsHandler *TLSHandler)
TypeConstraint parameter constraint types
UnknownKeyError error exposes the internal schema.UnknownKeyError for public use.
An UnmarshalTypeError describes a JSON value that was not appropriate for a value of a specific Go type.
An UnsupportedTypeError is returned by Marshal when attempting to encode an unsupported value type.
Views is the interface that wraps the Render function. ( Views) Load() error ( Views) Render(io.Writer, string, interface{}, ...string) error
Package-Level Functions (total 27)
AcquireAgent returns an empty Agent instance from Agent pool. The returned Agent instance may be passed to ReleaseAgent when it is no longer needed. This allows Agent recycling, reduces GC pressure and usually improves performance.
AcquireArgs returns an empty Args object from the pool. The returned Args may be returned to the pool with ReleaseArgs when no longer needed. This allows reducing GC load. Copy from fasthttp
AcquireClient returns an empty Client instance from client pool. The returned Client instance may be passed to ReleaseClient when it is no longer needed. This allows Client recycling, reduces GC pressure and usually improves performance.
AcquireFormFile returns an empty FormFile object from the pool. The returned FormFile may be returned to the pool with ReleaseFormFile when no longer needed. This allows reducing GC load.
AcquireResponse returns an empty Response instance from response pool. The returned Response instance may be passed to ReleaseResponse when it is no longer needed. This allows Response recycling, reduces GC pressure and usually improves performance. Copy from fasthttp
DefaultErrorHandler that process return errors from handlers
Delete sends DELETE request to the given URL.
Get returns an agent with http method GET.
GetTrimmedParam trims the ':' & '?' from a string
Head returns an agent with http method HEAD.
func IndexRune(str string, needle int32) bool
IsChild determines if the current process is a child of Prefork
IsMethodIdempotent reports whether the HTTP method is considered idempotent. See https://datatracker.ietf.org/doc/html/rfc9110#section-9.2.2
IsMethodSafe reports whether the HTTP method is considered safe. See https://datatracker.ietf.org/doc/html/rfc9110#section-9.2.1
New creates a new Fiber named instance. app := fiber.New() You can pass optional configuration options by passing a Config struct: app := fiber.New(fiber.Config{ Prefork: true, ServerHeader: "Fiber", })
NewError creates a new Error instance with an optional message
Patch sends PATCH request to the given URL.
Post sends POST request to the given URL.
Put sends PUT request to the given URL.
ReleaseAgent returns an acquired via AcquireAgent to Agent pool. It is forbidden accessing req and/or it's members after returning it to Agent pool.
ReleaseArgs returns the object acquired via AcquireArgs to the pool. String not access the released Args object, otherwise data races may occur. Copy from fasthttp
ReleaseClient returns c acquired via AcquireClient to client pool. It is forbidden accessing req and/or it's members after returning it to client pool.
ReleaseFormFile returns the object acquired via AcquireFormFile to the pool. String not access the released FormFile object, otherwise data races may occur.
ReleaseResponse return resp acquired via AcquireResponse to response pool. It is forbidden accessing resp and/or it's members after returning it to response pool. Copy from fasthttp
RemoveEscapeChar remove escape characters
RoutePatternMatch checks if a given path matches a Fiber route pattern.
SetParserDecoder allow globally change the option of form decoder, update decoderPool
Package-Level Variables (total 44)
DefaultColors Default color codes
HTTP methods enabled by default
Errors
Errors
Errors
Errors
Errors
Errors
Errors
Errors
Errors
Errors
Errors
Errors
Errors
Errors
Errors
Errors
Errors
Errors
Errors
Errors
Errors
Errors
Errors
Errors
Errors
Errors
Errors
Errors
Errors
Errors
Errors
Errors
Errors
Errors
Errors
Errors
Package-Level Constants (total 246)
Route Constraints
Route Constraints
Route Constraints
Route Constraints
Route Constraints
Route Constraints
Route Constraints
Route Constraints
Route Constraints
Route Constraints
Route Constraints
Route Constraints
Route Constraints
Route Constraints
Route Constraints
Route Constraints
Route Constraints
Cookie SameSite https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-rfc6265bis-03#section-4.1.2.7
Cookie SameSite https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-rfc6265bis-03#section-4.1.2.7
Cookie SameSite https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-rfc6265bis-03#section-4.1.2.7
Cookie SameSite https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-rfc6265bis-03#section-4.1.2.7
Default Config values
Default Config values
Default Config values
Default Config values
Default Config values
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
Deprecated: use HeaderPermissionsPolicy instead
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP Headers were copied from net/http.
HTTP methods were copied from net/http.
HTTP methods were copied from net/http.
HTTP methods were copied from net/http.
HTTP methods were copied from net/http.
HTTP methods were copied from net/http.
HTTP methods were copied from net/http.
HTTP methods were copied from net/http.
HTTP methods were copied from net/http.
HTTP methods were copied from net/http.
MIME types that are commonly used
Deprecated: use MIMETextJavaScript instead
Deprecated: use MIMETextJavaScriptCharsetUTF8 instead
MIME types that are commonly used
MIME types that are commonly used
MIME types that are commonly used
MIME types that are commonly used
MIME types that are commonly used
MIME types that are commonly used
MIME types that are commonly used
MIME types that are commonly used
MIME types that are commonly used
MIME types that are commonly used
MIME types that are commonly used
MIME types that are commonly used
MIME types that are commonly used
MIME types that are commonly used
Network types that are commonly used
Network types that are commonly used
Network types that are commonly used
HTTP status codes were copied from net/http with the following updates: - Rename StatusNonAuthoritativeInfo to StatusNonAuthoritativeInformation - Add StatusSwitchProxy (306) NOTE: Keep this list in sync with statusMessage
HTTP status codes were copied from net/http with the following updates: - Rename StatusNonAuthoritativeInfo to StatusNonAuthoritativeInformation - Add StatusSwitchProxy (306) NOTE: Keep this list in sync with statusMessage
HTTP status codes were copied from net/http with the following updates: - Rename StatusNonAuthoritativeInfo to StatusNonAuthoritativeInformation - Add StatusSwitchProxy (306) NOTE: Keep this list in sync with statusMessage
HTTP status codes were copied from net/http with the following updates: - Rename StatusNonAuthoritativeInfo to StatusNonAuthoritativeInformation - Add StatusSwitchProxy (306) NOTE: Keep this list in sync with statusMessage
HTTP status codes were copied from net/http with the following updates: - Rename StatusNonAuthoritativeInfo to StatusNonAuthoritativeInformation - Add StatusSwitchProxy (306) NOTE: Keep this list in sync with statusMessage
HTTP status codes were copied from net/http with the following updates: - Rename StatusNonAuthoritativeInfo to StatusNonAuthoritativeInformation - Add StatusSwitchProxy (306) NOTE: Keep this list in sync with statusMessage
HTTP status codes were copied from net/http with the following updates: - Rename StatusNonAuthoritativeInfo to StatusNonAuthoritativeInformation - Add StatusSwitchProxy (306) NOTE: Keep this list in sync with statusMessage
HTTP status codes were copied from net/http with the following updates: - Rename StatusNonAuthoritativeInfo to StatusNonAuthoritativeInformation - Add StatusSwitchProxy (306) NOTE: Keep this list in sync with statusMessage
HTTP status codes were copied from net/http with the following updates: - Rename StatusNonAuthoritativeInfo to StatusNonAuthoritativeInformation - Add StatusSwitchProxy (306) NOTE: Keep this list in sync with statusMessage
HTTP status codes were copied from net/http with the following updates: - Rename StatusNonAuthoritativeInfo to StatusNonAuthoritativeInformation - Add StatusSwitchProxy (306) NOTE: Keep this list in sync with statusMessage
HTTP status codes were copied from net/http with the following updates: - Rename StatusNonAuthoritativeInfo to StatusNonAuthoritativeInformation - Add StatusSwitchProxy (306) NOTE: Keep this list in sync with statusMessage
HTTP status codes were copied from net/http with the following updates: - Rename StatusNonAuthoritativeInfo to StatusNonAuthoritativeInformation - Add StatusSwitchProxy (306) NOTE: Keep this list in sync with statusMessage
HTTP status codes were copied from net/http with the following updates: - Rename StatusNonAuthoritativeInfo to StatusNonAuthoritativeInformation - Add StatusSwitchProxy (306) NOTE: Keep this list in sync with statusMessage
HTTP status codes were copied from net/http with the following updates: - Rename StatusNonAuthoritativeInfo to StatusNonAuthoritativeInformation - Add StatusSwitchProxy (306) NOTE: Keep this list in sync with statusMessage
HTTP status codes were copied from net/http with the following updates: - Rename StatusNonAuthoritativeInfo to StatusNonAuthoritativeInformation - Add StatusSwitchProxy (306) NOTE: Keep this list in sync with statusMessage
HTTP status codes were copied from net/http with the following updates: - Rename StatusNonAuthoritativeInfo to StatusNonAuthoritativeInformation - Add StatusSwitchProxy (306) NOTE: Keep this list in sync with statusMessage
HTTP status codes were copied from net/http with the following updates: - Rename StatusNonAuthoritativeInfo to StatusNonAuthoritativeInformation - Add StatusSwitchProxy (306) NOTE: Keep this list in sync with statusMessage
HTTP status codes were copied from net/http with the following updates: - Rename StatusNonAuthoritativeInfo to StatusNonAuthoritativeInformation - Add StatusSwitchProxy (306) NOTE: Keep this list in sync with statusMessage
HTTP status codes were copied from net/http with the following updates: - Rename StatusNonAuthoritativeInfo to StatusNonAuthoritativeInformation - Add StatusSwitchProxy (306) NOTE: Keep this list in sync with statusMessage
HTTP status codes were copied from net/http with the following updates: - Rename StatusNonAuthoritativeInfo to StatusNonAuthoritativeInformation - Add StatusSwitchProxy (306) NOTE: Keep this list in sync with statusMessage
HTTP status codes were copied from net/http with the following updates: - Rename StatusNonAuthoritativeInfo to StatusNonAuthoritativeInformation - Add StatusSwitchProxy (306) NOTE: Keep this list in sync with statusMessage
HTTP status codes were copied from net/http with the following updates: - Rename StatusNonAuthoritativeInfo to StatusNonAuthoritativeInformation - Add StatusSwitchProxy (306) NOTE: Keep this list in sync with statusMessage
HTTP status codes were copied from net/http with the following updates: - Rename StatusNonAuthoritativeInfo to StatusNonAuthoritativeInformation - Add StatusSwitchProxy (306) NOTE: Keep this list in sync with statusMessage
HTTP status codes were copied from net/http with the following updates: - Rename StatusNonAuthoritativeInfo to StatusNonAuthoritativeInformation - Add StatusSwitchProxy (306) NOTE: Keep this list in sync with statusMessage
HTTP status codes were copied from net/http with the following updates: - Rename StatusNonAuthoritativeInfo to StatusNonAuthoritativeInformation - Add StatusSwitchProxy (306) NOTE: Keep this list in sync with statusMessage
HTTP status codes were copied from net/http with the following updates: - Rename StatusNonAuthoritativeInfo to StatusNonAuthoritativeInformation - Add StatusSwitchProxy (306) NOTE: Keep this list in sync with statusMessage
HTTP status codes were copied from net/http with the following updates: - Rename StatusNonAuthoritativeInfo to StatusNonAuthoritativeInformation - Add StatusSwitchProxy (306) NOTE: Keep this list in sync with statusMessage
HTTP status codes were copied from net/http with the following updates: - Rename StatusNonAuthoritativeInfo to StatusNonAuthoritativeInformation - Add StatusSwitchProxy (306) NOTE: Keep this list in sync with statusMessage
HTTP status codes were copied from net/http with the following updates: - Rename StatusNonAuthoritativeInfo to StatusNonAuthoritativeInformation - Add StatusSwitchProxy (306) NOTE: Keep this list in sync with statusMessage
HTTP status codes were copied from net/http with the following updates: - Rename StatusNonAuthoritativeInfo to StatusNonAuthoritativeInformation - Add StatusSwitchProxy (306) NOTE: Keep this list in sync with statusMessage
HTTP status codes were copied from net/http with the following updates: - Rename StatusNonAuthoritativeInfo to StatusNonAuthoritativeInformation - Add StatusSwitchProxy (306) NOTE: Keep this list in sync with statusMessage
HTTP status codes were copied from net/http with the following updates: - Rename StatusNonAuthoritativeInfo to StatusNonAuthoritativeInformation - Add StatusSwitchProxy (306) NOTE: Keep this list in sync with statusMessage
HTTP status codes were copied from net/http with the following updates: - Rename StatusNonAuthoritativeInfo to StatusNonAuthoritativeInformation - Add StatusSwitchProxy (306) NOTE: Keep this list in sync with statusMessage
HTTP status codes were copied from net/http with the following updates: - Rename StatusNonAuthoritativeInfo to StatusNonAuthoritativeInformation - Add StatusSwitchProxy (306) NOTE: Keep this list in sync with statusMessage
HTTP status codes were copied from net/http with the following updates: - Rename StatusNonAuthoritativeInfo to StatusNonAuthoritativeInformation - Add StatusSwitchProxy (306) NOTE: Keep this list in sync with statusMessage
HTTP status codes were copied from net/http with the following updates: - Rename StatusNonAuthoritativeInfo to StatusNonAuthoritativeInformation - Add StatusSwitchProxy (306) NOTE: Keep this list in sync with statusMessage
HTTP status codes were copied from net/http with the following updates: - Rename StatusNonAuthoritativeInfo to StatusNonAuthoritativeInformation - Add StatusSwitchProxy (306) NOTE: Keep this list in sync with statusMessage
HTTP status codes were copied from net/http with the following updates: - Rename StatusNonAuthoritativeInfo to StatusNonAuthoritativeInformation - Add StatusSwitchProxy (306) NOTE: Keep this list in sync with statusMessage
HTTP status codes were copied from net/http with the following updates: - Rename StatusNonAuthoritativeInfo to StatusNonAuthoritativeInformation - Add StatusSwitchProxy (306) NOTE: Keep this list in sync with statusMessage
HTTP status codes were copied from net/http with the following updates: - Rename StatusNonAuthoritativeInfo to StatusNonAuthoritativeInformation - Add StatusSwitchProxy (306) NOTE: Keep this list in sync with statusMessage
HTTP status codes were copied from net/http with the following updates: - Rename StatusNonAuthoritativeInfo to StatusNonAuthoritativeInformation - Add StatusSwitchProxy (306) NOTE: Keep this list in sync with statusMessage
HTTP status codes were copied from net/http with the following updates: - Rename StatusNonAuthoritativeInfo to StatusNonAuthoritativeInformation - Add StatusSwitchProxy (306) NOTE: Keep this list in sync with statusMessage
HTTP status codes were copied from net/http with the following updates: - Rename StatusNonAuthoritativeInfo to StatusNonAuthoritativeInformation - Add StatusSwitchProxy (306) NOTE: Keep this list in sync with statusMessage
HTTP status codes were copied from net/http with the following updates: - Rename StatusNonAuthoritativeInfo to StatusNonAuthoritativeInformation - Add StatusSwitchProxy (306) NOTE: Keep this list in sync with statusMessage
HTTP status codes were copied from net/http with the following updates: - Rename StatusNonAuthoritativeInfo to StatusNonAuthoritativeInformation - Add StatusSwitchProxy (306) NOTE: Keep this list in sync with statusMessage
HTTP status codes were copied from net/http with the following updates: - Rename StatusNonAuthoritativeInfo to StatusNonAuthoritativeInformation - Add StatusSwitchProxy (306) NOTE: Keep this list in sync with statusMessage
HTTP status codes were copied from net/http with the following updates: - Rename StatusNonAuthoritativeInfo to StatusNonAuthoritativeInformation - Add StatusSwitchProxy (306) NOTE: Keep this list in sync with statusMessage
HTTP status codes were copied from net/http with the following updates: - Rename StatusNonAuthoritativeInfo to StatusNonAuthoritativeInformation - Add StatusSwitchProxy (306) NOTE: Keep this list in sync with statusMessage
HTTP status codes were copied from net/http with the following updates: - Rename StatusNonAuthoritativeInfo to StatusNonAuthoritativeInformation - Add StatusSwitchProxy (306) NOTE: Keep this list in sync with statusMessage
HTTP status codes were copied from net/http with the following updates: - Rename StatusNonAuthoritativeInfo to StatusNonAuthoritativeInformation - Add StatusSwitchProxy (306) NOTE: Keep this list in sync with statusMessage
HTTP status codes were copied from net/http with the following updates: - Rename StatusNonAuthoritativeInfo to StatusNonAuthoritativeInformation - Add StatusSwitchProxy (306) NOTE: Keep this list in sync with statusMessage
HTTP status codes were copied from net/http with the following updates: - Rename StatusNonAuthoritativeInfo to StatusNonAuthoritativeInformation - Add StatusSwitchProxy (306) NOTE: Keep this list in sync with statusMessage
HTTP status codes were copied from net/http with the following updates: - Rename StatusNonAuthoritativeInfo to StatusNonAuthoritativeInformation - Add StatusSwitchProxy (306) NOTE: Keep this list in sync with statusMessage
HTTP status codes were copied from net/http with the following updates: - Rename StatusNonAuthoritativeInfo to StatusNonAuthoritativeInformation - Add StatusSwitchProxy (306) NOTE: Keep this list in sync with statusMessage
HTTP status codes were copied from net/http with the following updates: - Rename StatusNonAuthoritativeInfo to StatusNonAuthoritativeInformation - Add StatusSwitchProxy (306) NOTE: Keep this list in sync with statusMessage
HTTP status codes were copied from net/http with the following updates: - Rename StatusNonAuthoritativeInfo to StatusNonAuthoritativeInformation - Add StatusSwitchProxy (306) NOTE: Keep this list in sync with statusMessage
HTTP status codes were copied from net/http with the following updates: - Rename StatusNonAuthoritativeInfo to StatusNonAuthoritativeInformation - Add StatusSwitchProxy (306) NOTE: Keep this list in sync with statusMessage
HTTP status codes were copied from net/http with the following updates: - Rename StatusNonAuthoritativeInfo to StatusNonAuthoritativeInformation - Add StatusSwitchProxy (306) NOTE: Keep this list in sync with statusMessage
HTTP status codes were copied from net/http with the following updates: - Rename StatusNonAuthoritativeInfo to StatusNonAuthoritativeInformation - Add StatusSwitchProxy (306) NOTE: Keep this list in sync with statusMessage
HTTP status codes were copied from net/http with the following updates: - Rename StatusNonAuthoritativeInfo to StatusNonAuthoritativeInformation - Add StatusSwitchProxy (306) NOTE: Keep this list in sync with statusMessage
HTTP status codes were copied from net/http with the following updates: - Rename StatusNonAuthoritativeInfo to StatusNonAuthoritativeInformation - Add StatusSwitchProxy (306) NOTE: Keep this list in sync with statusMessage
HTTP status codes were copied from net/http with the following updates: - Rename StatusNonAuthoritativeInfo to StatusNonAuthoritativeInformation - Add StatusSwitchProxy (306) NOTE: Keep this list in sync with statusMessage
HTTP status codes were copied from net/http with the following updates: - Rename StatusNonAuthoritativeInfo to StatusNonAuthoritativeInformation - Add StatusSwitchProxy (306) NOTE: Keep this list in sync with statusMessage
Compression types
Compression types
Compression types
Compression types
Version of current fiber package