home/internal/domain/config.go

33 lines
743 B
Go

package domain
import (
"net"
"net/netip"
"strconv"
"testing"
)
type Config struct {
ContentDir string `env:"CONTENT_DIR" envDefault:"content/"`
Host string `env:"HOST" envDefault:"0.0.0.0"`
ThemeDir string `env:"THEME_DIR" envDefault:"theme/"`
StaticDir string `env:"STATIC_DIR" envDefault:"static/"`
Port uint16 `env:"PORT" envDefault:"3000"`
}
func TestConfig(tb testing.TB) *Config {
tb.Helper()
return &Config{
ContentDir: "testdata/content/",
Host: "0.0.0.0",
ThemeDir: "testdata/theme/",
StaticDir: "testdata/static/",
Port: 3000,
}
}
func (c Config) AddrPort() netip.AddrPort {
return netip.MustParseAddrPort(net.JoinHostPort(c.Host, strconv.FormatUint(uint64(c.Port), 10)))
}