From fd8fdd93b922d621e158cc2094935a177b02c4e6 Mon Sep 17 00:00:00 2001 From: phoenix Date: Fri, 12 Dec 2025 13:59:04 -0500 Subject: [PATCH] tsk-4: Adding CORS support --- cmd/api/main.go | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/cmd/api/main.go b/cmd/api/main.go index e6cc12a..642012b 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-api/docs" @@ -115,10 +116,20 @@ 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 + }) + // Start server server := &http.Server{ Addr: ":" + cfg.ServerPort, - Handler: router, + Handler: c.Handler(router), ReadTimeout: 15 * time.Second, WriteTimeout: 15 * time.Second, IdleTimeout: 60 * time.Second,