我正在尝试编写一个测试来验证我的 API 的 CORS 设置是否正确。API 用 Go 编写并使用 GIN。我有不同的 CORS 设置,具体取决于路由器组。看起来像:
router := gin.New()
router.Use(gin.Recovery())
domainOneCORS := cors.New(cors.Config{
AllowOrigins: []string{"https://domainone.com"},
AllowMethods: []string{"GET", "POST", "PUT", "DELETE", "PATCH"},
AllowHeaders: []string{"Authorization", "Content-Length", "Content-Type", "Origin"},
ExposeHeaders: []string{"Content-Length"},
MaxAge: 12 * time.Hour,
})
domainTwoCORS := cors.New(cors.Config{
AllowOrigins: []string{"https://domaintwo.com"},
AllowMethods: []string{"GET", "POST", "PUT", "DELETE", "PATCH"},
AllowHeaders: []string{"Authorization", "Content-Length", "Content-Type", "Origin"},
ExposeHeaders: []string{"Content-Length"},
MaxAge: 12 * time.Hour,
})
domainOneAPI := router.Group("/one")
domainOneAPI.Use(domainOneCORS)
{
domainOneAPI.GET("", handler.DomainOneHealth)
}
domainTwoAPI := router.Group("/two")
domainTwoAPI.Use(domainTwoCORS)
{
domainTwoAPI.GET("", handler.DomainTwoHealth)
}
我试图找出测试我的配置的最佳方法。我发现的大多数测试都使用处理程序并跳过路由器中间件部分。测试它有意义吗?即使我可以模拟出路由器和响应,也只是确认 HTTP 客户端可以访问端点。不验证不同域上的 Web 应用程序可以访问 API。我发现这个问题很相似,但对于回声。
慕村9548890
交互式爱情
随时随地看视频慕课网APP
相关分类