Delete proxy/respheader.go

This commit is contained in:
里見 灯花 2025-01-28 11:28:27 +08:00 committed by GitHub
parent af86ccf482
commit c011fc9fcd
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -1,56 +0,0 @@
package proxy
import (
"ghproxy/config"
"net/http"
"github.com/gin-gonic/gin"
)
func CopyResponseHeaders(resp *http.Response, c *gin.Context, cfg *config.Config) {
copyHeaders(resp, c)
removeHeaders(resp)
setCORSHeaders(c, cfg)
setDefaultHeaders(c)
}
// 复制响应头
func copyHeaders(resp *http.Response, c *gin.Context) {
for key, values := range resp.Header {
for _, value := range values {
c.Header(key, value)
}
}
}
// 移除指定响应头
func removeHeaders(resp *http.Response) {
headersToRemove := map[string]struct{}{
"Content-Security-Policy": {},
"Referrer-Policy": {},
"Strict-Transport-Security": {},
}
for header := range headersToRemove {
resp.Header.Del(header)
}
}
// CORS配置
func setCORSHeaders(c *gin.Context, cfg *config.Config) {
if cfg.CORS.Enabled {
c.Header("Access-Control-Allow-Origin", "*")
} else {
c.Header("Access-Control-Allow-Origin", "")
}
}
// 默认响应
func setDefaultHeaders(c *gin.Context) {
c.Header("Age", "10")
c.Header("Cache-Control", "max-age=300")
}