mirror of
https://github.com/YspCoder/clawgo.git
synced 2026-05-20 16:27:32 +08:00
Allow credentialed cross-origin API requests
This commit is contained in:
@@ -245,6 +245,7 @@ func (s *Server) withCORS(next http.Handler) http.Handler {
|
|||||||
} else {
|
} else {
|
||||||
w.Header().Set("Access-Control-Allow-Origin", "*")
|
w.Header().Set("Access-Control-Allow-Origin", "*")
|
||||||
}
|
}
|
||||||
|
w.Header().Set("Access-Control-Allow-Credentials", "true")
|
||||||
allowMethods := strings.TrimSpace(r.Header.Get("Access-Control-Request-Method"))
|
allowMethods := strings.TrimSpace(r.Header.Get("Access-Control-Request-Method"))
|
||||||
if allowMethods == "" {
|
if allowMethods == "" {
|
||||||
allowMethods = "GET, POST, PUT, PATCH, DELETE, OPTIONS"
|
allowMethods = "GET, POST, PUT, PATCH, DELETE, OPTIONS"
|
||||||
|
|||||||
@@ -193,6 +193,9 @@ func TestWithCORSEchoesPreflightHeaders(t *testing.T) {
|
|||||||
if got := rec.Header().Get("Access-Control-Allow-Origin"); got != "https://dash.clawgo.dev" {
|
if got := rec.Header().Get("Access-Control-Allow-Origin"); got != "https://dash.clawgo.dev" {
|
||||||
t.Fatalf("unexpected allow origin: %q", got)
|
t.Fatalf("unexpected allow origin: %q", got)
|
||||||
}
|
}
|
||||||
|
if got := rec.Header().Get("Access-Control-Allow-Credentials"); got != "true" {
|
||||||
|
t.Fatalf("unexpected allow credentials: %q", got)
|
||||||
|
}
|
||||||
if got := rec.Header().Get("Access-Control-Allow-Methods"); got != "POST" {
|
if got := rec.Header().Get("Access-Control-Allow-Methods"); got != "POST" {
|
||||||
t.Fatalf("unexpected allow methods: %q", got)
|
t.Fatalf("unexpected allow methods: %q", got)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user