Procházet zdrojové kódy

feat: optional host to listen on

Fela Maslen před 5 roky
rodič
revize
98b3998c1b

+ 10 - 0
gmus-backend/pkg/config/config.go

@@ -109,6 +109,15 @@ func getPort() int {
 	return result
 }
 
+func getListenHost() string {
+	var defaultHost = "localhost"
+	host, hasHost := os.LookupEnv("HOST")
+	if !hasHost {
+		return defaultHost
+	}
+	return host
+}
+
 func getRedisUrl() string {
 	url, hasUrl := os.LookupEnv("REDIS_URL")
 	if !hasUrl {
@@ -121,6 +130,7 @@ type config struct {
 	DatabaseUrl      string
 	LogLevel         logger.LogLevel
 	LibraryDirectory string
+	Host             string
 	Port             int
 	RedisUrl         string
 }

+ 1 - 0
gmus-backend/pkg/config/main.go

@@ -11,6 +11,7 @@ func GetConfig() config {
 		DatabaseUrl:      getDatabaseUrl(),
 		LogLevel:         getLogLevel(),
 		LibraryDirectory: os.Getenv("LIBRARY_DIRECTORY"),
+		Host:             getListenHost(),
 		Port:             getPort(),
 		RedisUrl:         getRedisUrl(),
 	}

+ 2 - 2
gmus-backend/pkg/server/server.go

@@ -35,6 +35,6 @@ func StartServer() {
 
 	handler := cors.AllowAll().Handler(router)
 
-	l.Info("Starting server on port %d\n", port)
-	log.Fatal(http.ListenAndServe(fmt.Sprintf("localhost:%d", port), handler))
+	l.Info("Starting server on %s:%d\n", conf.Host, port)
+	log.Fatal(http.ListenAndServe(fmt.Sprintf("%s:%d", conf.Host, port), handler))
 }