package rest import ( "git.intra.yksa.space/gsn/predictor/internal/pkg/errcodes" env "github.com/caarlos0/env/v11" ) type Config struct { Host string `env:"HOST" envDefault:"0.0.0.0"` Port int `env:"PORT" envDefault:"8080"` ReadTimeout string `env:"READ_TIMEOUT" envDefault:"30s"` WriteTimeout string `env:"WRITE_TIMEOUT" envDefault:"30s"` IdleTimeout string `env:"IDLE_TIMEOUT" envDefault:"60s"` } func NewConfig() (*Config, error) { cfg := &Config{} if err := env.ParseWithOptions(cfg, env.Options{ PrefixTagName: "GSN_PREDICTOR_REST_", }); err != nil { return nil, errcodes.Wrap(err, "failed to parse REST config") } return cfg, nil }