17 lines
772 B
Go
17 lines
772 B
Go
|
|
package server
|
||
|
|
|
||
|
|
import "time"
|
||
|
|
|
||
|
|
// Config holds HTTP server configuration.
|
||
|
|
// All fields carry caarlos0/env struct tags — applications supply the loader.
|
||
|
|
type Config struct {
|
||
|
|
Host string `env:"EINHERJAR_SERVER_HOST" envDefault:"0.0.0.0"`
|
||
|
|
Port int `env:"EINHERJAR_SERVER_PORT" envDefault:"8080"`
|
||
|
|
ReadTimeout time.Duration `env:"EINHERJAR_SERVER_READ_TIMEOUT" envDefault:"5s"`
|
||
|
|
WriteTimeout time.Duration `env:"EINHERJAR_SERVER_WRITE_TIMEOUT" envDefault:"10s"`
|
||
|
|
IdleTimeout time.Duration `env:"EINHERJAR_SERVER_IDLE_TIMEOUT" envDefault:"120s"`
|
||
|
|
ShutdownTimeout time.Duration `env:"EINHERJAR_SERVER_SHUTDOWN_TIMEOUT" envDefault:"10s"`
|
||
|
|
}
|
||
|
|
|
||
|
|
const defaultShutdownTimeout = 10 * time.Second
|