From f7ae5a786fdaa1ab8ece7f6ea00ac8d998df9868 Mon Sep 17 00:00:00 2001 From: Jason Hilder Date: Wed, 29 Apr 2026 08:14:36 +0200 Subject: [PATCH] Set session limit and add secret to server struct. --- cmd/main.go | 6 +++++- internal/web/server.go | 15 ++++++++++----- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/cmd/main.go b/cmd/main.go index 453d080..18edb9d 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -58,7 +58,11 @@ func main() { // Server Init // ------------------------------------------------------------ - server := web.NewServer(store) + jwtSecret := os.Getenv("JWT_SECRET") + if jwtSecret == "" { + log.Fatal("JWT_SECRET environment variable is required") + } + server := web.NewServer(store, jwtSecret) // We run it in a goroutine so it doesn't block main from reaching the signal listener. go func() { diff --git a/internal/web/server.go b/internal/web/server.go index e2d59d1..5ed9a45 100644 --- a/internal/web/server.go +++ b/internal/web/server.go @@ -7,17 +7,23 @@ import ( "nfeeder/internal/db" ) +var MAX_USER_SESSIONS = 5 + type Server struct { httpServer *http.Server - store *db.Store + store *db.Store + jwtSecret []byte } -func NewServer(store *db.Store) *Server { - s := &Server { +func NewServer(store *db.Store, secret string) *Server { + s := &Server{ store: store, + // could extend this to something more generic + // will do if more fields needed + jwtSecret: []byte(secret), } - s.httpServer = &http.Server { + s.httpServer = &http.Server{ Handler: s.setupRoutes(), } @@ -32,4 +38,3 @@ func (s *Server) Start(addr string) error { func (s *Server) Shutdown(ctx context.Context) error { return s.httpServer.Shutdown(ctx) } -