Set session limit and add secret to server struct.

This commit is contained in:
2026-04-29 08:14:36 +02:00
parent 089051373e
commit f7ae5a786f
2 changed files with 15 additions and 6 deletions
+5 -1
View File
@@ -58,7 +58,11 @@ func main() {
// Server Init // 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. // We run it in a goroutine so it doesn't block main from reaching the signal listener.
go func() { go func() {
+10 -5
View File
@@ -7,17 +7,23 @@ import (
"nfeeder/internal/db" "nfeeder/internal/db"
) )
var MAX_USER_SESSIONS = 5
type Server struct { type Server struct {
httpServer *http.Server httpServer *http.Server
store *db.Store store *db.Store
jwtSecret []byte
} }
func NewServer(store *db.Store) *Server { func NewServer(store *db.Store, secret string) *Server {
s := &Server { s := &Server{
store: store, 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(), Handler: s.setupRoutes(),
} }
@@ -32,4 +38,3 @@ func (s *Server) Start(addr string) error {
func (s *Server) Shutdown(ctx context.Context) error { func (s *Server) Shutdown(ctx context.Context) error {
return s.httpServer.Shutdown(ctx) return s.httpServer.Shutdown(ctx)
} }