This commit is contained in:
Ilia Denisov
2025-09-03 18:43:28 +03:00
commit 31957206b8
40 changed files with 2947 additions and 0 deletions
+30
View File
@@ -0,0 +1,30 @@
package server
import (
"context"
"errors"
"fmt"
"log/slog"
"net/http"
"os"
)
func StartServer(ctx context.Context, handler http.Handler) (err error) {
p, ok := os.LookupEnv("SERVER_PORT")
if !ok {
p = "8080"
}
slog.Info(fmt.Sprintf("starting server on port: %s", p))
go func() {
err = http.ListenAndServe(":"+p, handler)
if errors.Is(err, http.ErrServerClosed) {
slog.Info("server closed")
} else if err != nil {
err = fmt.Errorf("listen: %s", err)
}
}()
<-ctx.Done()
return
}