2024-03-16 15:26:45 +01:00

31 lines
815 B
Go

package server
import "time"
// Configuration represents the server configuration.
type Configuration struct {
Timeout TimeoutConfiguration `json:"timeout"`
}
// TimeoutConfiguration lets you configure the different timeout durations.
type TimeoutConfiguration struct {
Idle time.Duration `json:"idle"`
Read time.Duration `json:"read"`
ReadHeader time.Duration `json:"readHeader"`
Write time.Duration `json:"write"`
Shutdown time.Duration `json:"shutdown"`
}
// Reset resets all fields to the default configuration.
func defaultConfig() Configuration {
return Configuration{
Timeout: TimeoutConfiguration{
Idle: 3 * time.Minute,
Write: 2 * time.Minute,
Read: 5 * time.Second,
ReadHeader: 5 * time.Second,
Shutdown: 250 * time.Millisecond,
},
}
}