Skip to content

Commit 5b591aa

Browse files
committed
Read port from config first
1 parent 8055898 commit 5b591aa

1 file changed

Lines changed: 16 additions & 8 deletions

File tree

cmd/server/main.go

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ package main
44
import (
55
"context"
66
"errors"
7+
"flag"
78
"fmt"
89
"log"
910
"log/slog"
@@ -29,14 +30,28 @@ func main() {
2930
return
3031
}
3132

33+
port := flag.Int("port", 0, "Server port (overrides PORT env and app config)")
34+
flag.Parse()
35+
3236
appDir := getAppDir()
3337
_ = godotenv.Load(fmt.Sprintf("%s/.env", appDir), fmt.Sprintf("%s/.env.dist", appDir))
3438

3539
initLogger()
3640

3741
router := initRouter()
3842

39-
addr := fmt.Sprintf(":%s", getEnv("PORT", "2200"))
43+
appPort := router.Config().Port
44+
if appPort == 0 {
45+
appPort = 2200
46+
}
47+
if envPort := os.Getenv("PORT"); envPort != "" {
48+
fmt.Sscanf(envPort, "%d", &appPort)
49+
}
50+
if *port > 0 {
51+
appPort = *port
52+
}
53+
addr := fmt.Sprintf(":%d", appPort)
54+
4055
server := &http.Server{
4156
Addr: addr,
4257
Handler: router,
@@ -106,10 +121,3 @@ func initRouter() *api.Router {
106121

107122
return router
108123
}
109-
110-
func getEnv(key, defaultValue string) string {
111-
if value := os.Getenv(key); value != "" {
112-
return value
113-
}
114-
return defaultValue
115-
}

0 commit comments

Comments
 (0)