From 225dc0c96318106c9542be1174cd861eb3604cf2 Mon Sep 17 00:00:00 2001 From: phoenix Date: Thu, 11 Dec 2025 17:29:34 -0500 Subject: [PATCH] tsk-10: Added cors --- cmd/api/main.go | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/cmd/api/main.go b/cmd/api/main.go index b280401..03494f3 100644 --- a/cmd/api/main.go +++ b/cmd/api/main.go @@ -12,6 +12,7 @@ import ( "github.com/go-chi/chi/v5" "github.com/go-chi/chi/v5/middleware" + "github.com/rs/cors" "github.com/swaggo/http-swagger/v2" _ "git.kundeng.us/phoenix/textsender-auth/docs" @@ -97,10 +98,23 @@ func main() { httpSwagger.URL(fmt.Sprintf("http://localhost:%s/swagger/doc.json", config.Port)), )) + + // Configure CORS + c := cors.New(cors.Options{ + AllowedOrigins: []string{fmt.Sprintf("http://localhost:%s", config.Port), "https://textsender.com"}, + AllowedMethods: []string{"GET", "POST", "PUT", "DELETE", "OPTIONS", "PATCH"}, + AllowedHeaders: []string{"Accept", "Authorization", "Content-Type", "X-CSRF-Token"}, + ExposedHeaders: []string{"Link", "X-Total-Count"}, + AllowCredentials: true, + MaxAge: 300, // 5 minutes + }) + + rr := c.Handler(router) + // Start server server := &http.Server{ Addr: ":" + cfg.ServerPort, - Handler: router, + Handler: rr, ReadTimeout: 15 * time.Second, WriteTimeout: 15 * time.Second, IdleTimeout: 60 * time.Second,