跨域资源共享 CORS
CORS
Fiber CORS 中间件, 可用于通过各种选项启用跨域资源共享 。
目录
签名
func New(config ...Config) fiber.Handler
示例
在 Fiber 项目中引入 cors 包
import (
"github.com/gofiber/fiber/v2"
"github.com/gofiber/fiber/v2/middleware/cors"
)
启动 Fiber 程序后, 你可以这样使用:
// 默认配置
app.Use(cors.New())
// 或者扩展你的配置以进行自定义
app.Use(cors.New(cors.Config{
AllowOrigins: "https://gofiber.io, https://gofiber.net",
AllowHeaders: "Origin, Content-Type, Accept",
}))
配置
// Config 定义中间件的配置.
type Config struct {
// Next 定义一个函数, 当返回 true 时跳过这个中间件.
//
// 可选的. 默认值: nil
Next func(c *fiber.Ctx) bool
// AllowOrigin 定义了可以访问资源的源列表.
//
// 可选的. 默认值 "*"
AllowOrigins string
// AllowMethods 定义了访问资源时允许的方法.
// 这用于响应预检请求.
//
// 可选的. 默认值 "GET,POST,HEAD,PUT,DELETE,PATCH"
AllowMethods string
// AllowHeaders 定义了一个请求头列表,当
// 发出实际的请求。这是对预检请求的响应.
//
// 可选的. 默认值 "".
AllowHeaders string
// AllowCredentials 表示是否响应请求
// 当凭证标识为真时,可以暴露。当用作
// 对预检请求的响应,这表明是否
// 可以使用凭证发出实际请求.
//
// 可选的. 默认值 false.
AllowCredentials bool
// ExposeHeaders 定义了允许客户端访问的白名单头
// access.
//
// 可选的. 默认值 "".
ExposeHeaders string
// MaxAge 表示预检请求的结果多长时间(以秒为单位)
// 可以缓存.
//
// 可选的. 默认值 0.
MaxAge int
}
默认配置
var ConfigDefault = Config{
Next: nil,
AllowOrigins: "*",
AllowMethods: "GET,POST,HEAD,PUT,DELETE,PATCH",
AllowHeaders: "",
AllowCredentials: false,
ExposeHeaders: "",
MaxAge: 0,
}
本译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。