Skip to content

Commit 8a3addc

Browse files
committed
feat: Read PORT environment variable for deployment
1 parent 513f63d commit 8a3addc

File tree

1 file changed

+14
-3
lines changed

1 file changed

+14
-3
lines changed

cmd/main.go

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import (
1616
"net/http"
1717
"os"
1818
"os/signal"
19+
"strconv"
1920
"syscall"
2021
"time"
2122

@@ -58,14 +59,24 @@ func main() {
5859

5960
r := setupRoutes(authHandler, userHandler, productHandler, categoryHandler, cartHandler, orderHandler, authMiddleware)
6061

61-
port := os.Getenv("API_PORT")
62+
// --- Determine Port ---
63+
port := os.Getenv("PORT") // 1. Check Render's PORT variable
6264
if port == "" {
63-
port = defaultPort
65+
port = cfg.APIPort // 2. Check API_PORT from config (read from .env)
66+
if port == "" {
67+
port = defaultPort // 3. Use default if none is set
68+
}
69+
}
70+
// Basic validation (optional but recommended)
71+
if _, err := strconv.Atoi(port); err != nil {
72+
log.Fatalf("Invalid port number: %s", port)
6473
}
74+
listenAddr := ":" + port
75+
// --- End Determine Port ---
6576

6677
// Configure HTTP server
6778
srv := &http.Server{
68-
Addr: ":" + port,
79+
Addr: listenAddr, // Use the determined address
6980
Handler: r,
7081
ReadTimeout: 5 * time.Second,
7182
WriteTimeout: 10 * time.Second,

0 commit comments

Comments
 (0)