31 lines
816 B
Go
31 lines
816 B
Go
|
package server
|
||
|
|
||
|
import "time"
|
||
|
|
||
|
// Configuration represents the server configuration.
|
||
|
type Configuration struct {
|
||
|
Timeout TimeoutConfiguration `json:"timeouts"`
|
||
|
}
|
||
|
|
||
|
// 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,
|
||
|
},
|
||
|
}
|
||
|
}
|