Files
open-im-server/tools/openim-web/openim-web.go
T

50 lines
928 B
Go
Raw Normal View History

2023-08-30 16:21:39 +08:00
package main
import (
"flag"
"log"
"net/http"
"os"
2023-08-30 17:10:13 +08:00
"github.com/NYTimes/gziphandler"
2023-08-30 16:21:39 +08:00
)
var (
distPathFlag string
portFlag string
)
func init() {
flag.StringVar(&distPathFlag, "distPath", "/app/dist", "Path to the distribution")
flag.StringVar(&portFlag, "port", "11001", "Port to run the server on")
}
func main() {
flag.Parse()
distPath := getConfigValue("DIST_PATH", distPathFlag, "/app/dist")
fs := http.FileServer(http.Dir(distPath))
2023-08-30 17:10:13 +08:00
withGzip := gziphandler.GzipHandler(fs)
http.Handle("/", withGzip)
2023-08-30 16:21:39 +08:00
port := getConfigValue("PORT", portFlag, "11001")
log.Printf("Server listening on port %s in %s...", port, distPath)
err := http.ListenAndServe(":"+port, nil)
if err != nil {
log.Fatal(err)
}
}
func getConfigValue(envKey, flagValue, fallback string) string {
envVal := os.Getenv(envKey)
if envVal != "" {
return envVal
}
if flagValue != "" {
return flagValue
}
return fallback
}