From afbdce7f5073978bda4bcba166bcbe5226fd2c41 Mon Sep 17 00:00:00 2001 From: vovanbravin Date: Sun, 10 May 2026 17:44:02 +0300 Subject: [PATCH] feat/add-rest --- cmd/api-gateway/main.go | 39 +++++++++++++++++++---------------- cmd/auth-service/main.go | 6 +++--- docker-compose.yaml | 2 -- internal/auth/handler/http.go | 2 +- 4 files changed, 25 insertions(+), 24 deletions(-) diff --git a/cmd/api-gateway/main.go b/cmd/api-gateway/main.go index c28e42b..fedee1f 100644 --- a/cmd/api-gateway/main.go +++ b/cmd/api-gateway/main.go @@ -1,31 +1,34 @@ package main import ( - "EventSpace/internal/server" "log" - "os" - - "github.com/pelletier/go-toml/v2" + "net/http" + "net/http/httputil" + "net/url" + "strings" ) func main() { - doc, err := os.ReadFile("config/api-gateway/config.toml") - - if err != nil { - log.Fatalf("Error to load api-gateway config: %v", err) + proxies := map[string]*httputil.ReverseProxy{ + "/v1/auth/": httputil.NewSingleHostReverseProxy(&url.URL{Scheme: "http", + Host: "auth-service:8081"}), } - var config server.Config - err = toml.Unmarshal(doc, &config) - - if err != nil { - log.Fatalf("Error to parse api-gateway config: %v", err) + http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { + for prefix, proxy := range proxies { + if strings.HasPrefix(r.URL.Path, prefix) { + log.Printf("Proxy %s\n", r.URL.Path) + proxy.ServeHTTP(w, r) + return + } + } + log.Printf("No found url: %s\n", r.URL.Path) + http.NotFound(w, r) + }) + + if err := http.ListenAndServe(":8080", nil); err != nil { + log.Fatal(err.Error()) } - server := server.NewServer(&config) - - if err = server.Start(); err != nil { - log.Fatalf("Error to start api-gateway: %v", err) - } } diff --git a/cmd/auth-service/main.go b/cmd/auth-service/main.go index ffde4a9..4fa2cc5 100644 --- a/cmd/auth-service/main.go +++ b/cmd/auth-service/main.go @@ -76,11 +76,11 @@ func main() { authHandler := handler.NewAuthHandler(authService) - router.Post("/register", authHandler.RegisterHandler) + router.Post("/v1/auth/register", authHandler.RegisterHandler) - router.Post("/login", authHandler.Login) + router.Post("/v1/auth/login", authHandler.Login) - router.Post("/refresh", authHandler.Refresh) + router.Post("/v1/auth/refresh", authHandler.Refresh) server := http.Server{ Addr: ":8081", diff --git a/docker-compose.yaml b/docker-compose.yaml index 1f0573a..90e509c 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -11,8 +11,6 @@ services: auth-service: build: dockerfile: docker/auth-service/Dockerfile - ports: - - "8081:8081" environment: JWT_SECRET: ${JWT_SECRET} DB_ADDR: ${DB_ADDR} diff --git a/internal/auth/handler/http.go b/internal/auth/handler/http.go index 9d2e3ad..ff65e64 100644 --- a/internal/auth/handler/http.go +++ b/internal/auth/handler/http.go @@ -113,7 +113,7 @@ func (h *AuthHandler) setRefreshTokenCookie(w http.ResponseWriter, refreshToken HttpOnly: true, Secure: true, SameSite: http.SameSiteStrictMode, - Path: "/refresh", + Path: "/", MaxAge: 7 * 24 * 3600, }) }