From 1139bfe73fba474695579644c11a4ce133d61478 Mon Sep 17 00:00:00 2001 From: vcarroy Date: Wed, 11 Sep 2024 12:09:43 +0200 Subject: [PATCH] =?UTF-8?q?Ajout=20du=20param=C3=A8tre=20base=20url?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 1 + internal/api/server.go | 8 +++++--- internal/config/config.go | 1 + 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 6bec8a0..8c9d5fa 100644 --- a/README.md +++ b/README.md @@ -44,6 +44,7 @@ $ ALTCHA_HMAC_KEY="CLÉ HMAC" bin/altcha verify [CHALLENGE] [SALT] [SIGNATURE] [ ## Variables d'environement | Nom | Description | Valeur par défaut | Requis | |---------------------|------------------------------------------------------------------------------|--------------------------|--------| +| ALTCHA_BASE_URL | Url de base du service | | Non | | ALTCHA_PORT | Port d'écoute du serveur | 3333 | Non | | ALTCHA_HMAC_KEY | Clé d'encodage des signatures | | Oui | | ALTCHA_MAX_NUMBER | Nombre d'itération maximum pour résoudre le challenge (défini la difficulté) | 1000000 | Non | diff --git a/internal/api/server.go b/internal/api/server.go index 6057a65..79a67e7 100644 --- a/internal/api/server.go +++ b/internal/api/server.go @@ -17,6 +17,7 @@ import ( ) type Server struct { + baseUrl string port string client client.Client } @@ -32,9 +33,9 @@ func (s *Server) Run(ctx context.Context) { r.Get("/", func(w http.ResponseWriter, r *http.Request) { w.Write([]byte("root.")) }) - r.Get("/request", s.requestHandler) - r.Get("/verify", s.submitHandler) - r.Get("/verify-spam-filter", s.submitSpamFilterHandler) + r.Get(s.baseUrl+"/request", s.requestHandler) + r.Get(s.baseUrl+"/verify", s.submitHandler) + r.Get(s.baseUrl+"/verify-spam-filter", s.submitSpamFilterHandler) logger.Info(ctx, "altcha server listening on port "+s.port) if err := http.ListenAndServe(":"+s.port, r); err != nil { @@ -171,6 +172,7 @@ func NewServer(cfg config.Config) *Server { client := *client.NewClient(cfg.HmacKey, cfg.MaxNumber, cfg.Algorithm, cfg.Salt, cfg.Expire, cfg.CheckExpire) return &Server { + baseUrl: cfg.BaseUrl, port: cfg.Port, client: client, } diff --git a/internal/config/config.go b/internal/config/config.go index 3f33206..ba0b8ee 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -1,6 +1,7 @@ package config type Config struct { + BaseUrl string `env:"ALTCHA_BASE_URL" envDefault:""` Port string `env:"ALTCHA_PORT" envDefault:"3333"` HmacKey string `env:"ALTCHA_HMAC_KEY"` MaxNumber int64 `env:"ALTCHA_MAX_NUMBER" envDefault:"1000000"`