initial
This commit is contained in:
@@ -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
|
||||
}
|
||||
Reference in New Issue
Block a user