Fiber 包

未匹配的标注

📦 Fiber

Fiber表示开始创建实例的fiber包

New

此方法创建一个新的 App 命名实例。您可以在创建新实例时传递可选的设置

签名:

func New(config ...Config) *App

示例:

// 默认配置
app := fiber.New()

// ...

Config

在创建新 Fiber 实例时,可以传递可选配置

示例:

//自定义配置
app := fiber.New(fiber.Config{
    Prefork:       true,
    CaseSensitive: true,
    StrictRouting: true,
    ServerHeader:  "Fiber",
    AppName: "Test App v1.0.1"
})

// ...

配置字段

属性 类型 描述 默认值
Prefork(预处理) bool 允许使用SO_REUSEPORT套接字选项。这将产生多个Go进程,监听同一端口。了解有关套接字切分的详细信息注意:如果启用,应用程序将需要通过shell运行,因为预工作模式设置环境变量。如果您使用的是Docker,请确保应用程序使用CMD ./appCMD ["sh", "-c", "/app"]。有关更多信息,请参见发表意见。 false
ServerHeader(服务器头) string 使用给定值启用服务器HTTP头。 ""
StrictRouting(严格路由) bool 启用时,路由器将/foo/foo/视为不同。否则,路由器将/Foo/foo/视为相同 false
CaseSensitive(区分大小写) bool 启用时,/Foo/Foo是不同的路由。禁用时,/Foo/foo视为相同 false
Immutable(不可变) bool 启用时,上下文方法返回的所有值都是不可变的。默认情况下,它们在您从处理程序返回之前是有效的;见第#185期. false
UnescapePath(未解除路径) bool 在设置上下文路径之前将路由中的所有编码字符转换回,以便路由也可以使用URL编码的特殊字符 false
ETag(E标签) bool 启用或禁用ETag头生成,因为弱ETag和强ETag都是使用相同的哈希方法(CRC-32)生成的。弱ETag是启用时的默认值 false
BodyLimit(Body限制) int 设置请求正文允许的最大大小,如果大小超过配置的限制,则发送 413 - Request Entity Too Large 响应 4*1024*1024
Concurrency(并发) int 最大并发连接数。 256*1024
Views(视图) Views 视图是包装渲染功能的界面。有关支持的引擎,请参阅我们的模板中间件 nil
ReadTimeout(读取时间) time.Duration 允许读取完整请求(包括正文)的时间量。默认超时是无限制的 nil
WriteTimeout(写入时间) time.Duration 响应超时写入之前的最大持续时间。默认超时是无限制的 nil
IdleTimeout(闲置时间) time.Duration 启用保持活动状态时等待下一个请求的最长时间。如果IdleTimeout为零,则使用ReadTimeout的值 nil
ReadBufferSize(读取缓冲大小) int 每个请求读取的连接缓冲区大小。这也限制了最大标题大小。如果您的客户端发送多KB请求URI和/或多KB标头(例如,大cookie),请增加此缓冲区 4096
WriteBufferSize (写入缓冲大小) int 响应写入的每个连接缓冲区大小。 4096
CompressedFileSuffix (压缩文件后缀) string 为原始文件名添加后缀,并尝试以新文件名保存生成的压缩文件。 ".fiber.gz"
ProxyHeader(代理头) string 这将使c.IP()能够返回给定标头键的值。默认情况下,c.IP()将从TCP连接返回远程IP,如果您在负载平衡器后面,例如X-Forwarded-,则此属性可能很有用 ""
GETOnly (仅限GET) bool 如果设置为true,则拒绝所有非GET请求。对于仅接受GET请求的服务器,此选项作为防DoS保护非常有用。如果设置了GETOnly,则请求大小受ReadBufferSize限制 false
ErrorHandler(错误请求头) ErrorHandler 当fiber返回错误时,执行ErrorHandler。处理程序。安装的fiber错误处理程序由顶级应用程序保留,并应用于前缀相关请求 DefaultErrorHandler
DisableKeepalive(关闭连接) bool 禁用保持活动连接,服务器将在向客户端发送第一个响应后关闭传入连接 false
DisableDefaultDate (关闭默认时间) bool 当设置为true时,将导致从响应中排除默认日期头。 false
DisableDefaultContentType(关闭默认内容类型) bool 设置为true时,将导致从响应中排除默认内容类型标题。 false
DisableHeaderNormalizing(关闭头正常化) bool 默认情况下,所有标题名称都是标准化的:内容类型->内容类型 false
DisableStartupMessage(关闭启动信息) bool 设置为true时,它不会打印调试信息 false
AppName (应用名) string 这允许为应用设置应用名称 ""
EnableTrustedProxyCheck(启用可信任代理检查) bool 设置为true时,fiber将使用TrustedProxy列表检查代理是否受信任。默认情况下,c.Protocol()将从X-Forwarded-Proto、X-Forwarded-Protocol、X-Forwarded-Ssl或X-Url-Scheme头获取值,c.IP()将从代理头获取值,c.Hostname()将从X-Forwarded-Host头获取值。如果EnableTrustedProxyCheck为true,并且RemoteIP在受信任代理的列表中c.Protocol()c.IP()c.Hostname()将在禁用受信任代理时具有相同的行为,如果RemoteIP不在列表中,c.Protocol()将在应用程序处理tls连接时返回https,否则,c.IP()将从fasthttp上下文返回RemoteIP() ,c.Hostname()将返回 fasthttp.Request.URI().Host() false
TrustedProxies(可信任代理) []string 包含受信任代理IP的列表。请查看启用受信任代理检查文档。它可以采用IP或IP范围地址。如果它得到IP范围,它将迭代所有可能的地址 []string*__*
DisablePrepareSMultipartForm (关闭复合文件表单) bool 如果设置为true,则不会预解析多部分表单数据。此选项对于希望将多部分表单数据视为二进制blob或选择何时解析数据的服务器非常有用 false
StreamRequestBody(流媒体请求内容) bool StreamRequestBody启用请求正文流,并在给定正文大于当前限制时更快调用处理程序。 false

NewError

NewError 使用可选消息创建一个新的 httperror 实例。

签名:

func NewError(code int, message ...string) *Error

示例:

app.Get("/", func(c *fiber.Ctx) error {
    return fiber.NewError(782, "Custom error message")
})

IsChild

Ischild 确定当前进程是否是预处理的结果。

签名:

func IsChild() bool

示例:

//预处理将产生子进程
app := fiber.New(fiber.Config{
    Prefork: true,
})

if !fiber.IsChild() {
    fmt.Println("I'm the parent process")
} else {
    fmt.Println("I'm a child process")
}

// ...

本文章首发在 LearnKu.com 网站上。

本译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

原文地址:https://learnku.com/docs/gofiber/2.x/fib...

译文地址:https://learnku.com/docs/gofiber/2.x/fib...

上一篇 下一篇
贡献者:2
讨论数量: 0
发起讨论 查看所有版本


暂无话题~