Add config #3

Merged
torjus merged 4 commits from feature/2/config into master 2023-12-05 00:35:40 +00:00
3 changed files with 15 additions and 8 deletions
Showing only changes of commit fd18ba6527 - Show all commits

View File

@ -32,7 +32,7 @@ func main() {
cfg := configFromCtx(c.Context)
srv := server.NewServer(cfg)
srv.Addr = cfg.HTTPListenAddr
srv.Addr = cfg.HTTP.ListenAddr
if err := srv.ListenAndServe(); err != nil && !errors.Is(err, http.ErrServerClosed) {
return err
}

View File

@ -3,7 +3,8 @@
# Env: MINISTREAM_SITENAME
SiteName = "stream.example.org"
[HTTP]
# HTTPListenAddr is which port the HTTP server will listen on.
# Default: ":8080"
# Env: MINISTREAM_HTTPLISTENADDR
# Env: MINISTREAM_HTTP_LISTENADDR
HTTPListenAddr = ":8080"

View File

@ -8,14 +8,20 @@ import (
)
type Config struct {
SiteName string `json:"siteName" toml:"siteName"`
HTTPListenAddr string `json:"httpListenAddr" toml:"HTTPListenAddr"`
SiteName string `toml:"siteName"`
HTTP ConfigHTTP `toml:"http"`
}
type ConfigHTTP struct {
ListenAddr string `json:"ListenAddr" toml:"ListenAddr"`
}
func DefaultConfig() *Config {
return &Config{
SiteName: "ministream",
HTTPListenAddr: ":8080",
HTTP: ConfigHTTP{
ListenAddr: ":8080",
},
}
}
@ -24,8 +30,8 @@ func (c *Config) OverrideFromEnv() {
c.SiteName = siteName
}
if httpAddr, ok := os.LookupEnv("MINISTREAM_HTTPLISTENADDR"); ok {
c.HTTPListenAddr = httpAddr
if httpAddr, ok := os.LookupEnv("MINISTREAM_HTTP_LISTENADDR"); ok {
c.HTTP.ListenAddr = httpAddr
}
}