From 556780fd2808291a0368f5cfd64e10b23cea8378 Mon Sep 17 00:00:00 2001 From: valitovgaziz Date: Sat, 11 Oct 2025 11:21:39 +0500 Subject: [PATCH] modified: serv_nginx/api_bb/pkg/middleware/middleware.go new file: serv_nginx/api_bb/pkg/middleware/options.go delete one middleware --- .../api_bb/pkg/middleware/middleware.go | 2 +- serv_nginx/api_bb/pkg/middleware/options.go | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 serv_nginx/api_bb/pkg/middleware/options.go diff --git a/serv_nginx/api_bb/pkg/middleware/middleware.go b/serv_nginx/api_bb/pkg/middleware/middleware.go index 7b3488f..cf07e2a 100644 --- a/serv_nginx/api_bb/pkg/middleware/middleware.go +++ b/serv_nginx/api_bb/pkg/middleware/middleware.go @@ -9,8 +9,8 @@ import ( func CommonMiddleware() []func(http.Handler) http.Handler { return []func(http.Handler) http.Handler{ + HandleOptions, CORS, - middleware.Logger, ZapLogger, middleware.Recoverer, middleware.RequestID, diff --git a/serv_nginx/api_bb/pkg/middleware/options.go b/serv_nginx/api_bb/pkg/middleware/options.go new file mode 100644 index 0000000..b84dcaf --- /dev/null +++ b/serv_nginx/api_bb/pkg/middleware/options.go @@ -0,0 +1,19 @@ +// pkg/middleware/options.go +package middleware + +import "net/http" + +// HandleOptions автоматически обрабатывает OPTIONS запросы +func HandleOptions(next http.Handler) http.Handler { + return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + if r.Method == "OPTIONS" { + w.Header().Set("Access-Control-Allow-Origin", r.Header.Get("Origin")) + w.Header().Set("Access-Control-Allow-Credentials", "true") + w.Header().Set("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS") + w.Header().Set("Access-Control-Allow-Headers", "Content-Type, Authorization, X-Requested-With") + w.WriteHeader(http.StatusOK) + return + } + next.ServeHTTP(w, r) + }) +} \ No newline at end of file