go(settings): expose default server timeouts
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
parent
4ccec7857d
commit
e941e73222
@ -6,7 +6,6 @@ package app
|
||||
import (
|
||||
"encoding/hex"
|
||||
"net/http"
|
||||
"time"
|
||||
|
||||
"github.com/gorilla/sessions"
|
||||
"github.com/labstack/echo-contrib/session"
|
||||
@ -46,8 +45,8 @@ func (a *App) SetEchoSettings() {
|
||||
// }))
|
||||
|
||||
// TODO: make this configurable.
|
||||
e.Server.WriteTimeout = 30 * time.Second
|
||||
e.Server.ReadHeaderTimeout = 30 * time.Second
|
||||
e.Server.WriteTimeout = a.setting.DefaultServerWriteTimeout()
|
||||
e.Server.ReadHeaderTimeout = a.setting.DefaultServerReadHeaderTimeout()
|
||||
|
||||
if a.setting.HTTPRateLimitEnabled() {
|
||||
limit := rate.Limit(a.setting.HTTPRateLimit())
|
||||
|
@ -5,6 +5,7 @@ package settings
|
||||
|
||||
import (
|
||||
"os"
|
||||
"time"
|
||||
|
||||
"git.dotya.ml/mirre-mt/pcmt/config"
|
||||
"git.dotya.ml/mirre-mt/pcmt/slogging"
|
||||
@ -41,10 +42,12 @@ type Settings struct {
|
||||
}
|
||||
|
||||
const (
|
||||
appName = "pcmt"
|
||||
defaultPort = 3000
|
||||
defaultSessionMaxAge = 86400 // seconds.
|
||||
defaultHTTPDomain = "localhost"
|
||||
appName = "pcmt"
|
||||
defaultPort = 3000
|
||||
defaultSessionMaxAge = 86400 // seconds.
|
||||
defaultHTTPDomain = "localhost"
|
||||
defaultServerWriteTimeout = 30 * time.Second
|
||||
defaultServerReadHeaderTimeout = 30 * time.Second
|
||||
)
|
||||
|
||||
// cleantgt is a list of ENV vars pertaining to pcmt.
|
||||
@ -63,6 +66,16 @@ func New() *Settings {
|
||||
return &Settings{}
|
||||
}
|
||||
|
||||
// DefaultServerWriteTimeout returns the server default write timeout.
|
||||
func (s *Settings) DefaultServerWriteTimeout() time.Duration {
|
||||
return defaultServerWriteTimeout
|
||||
}
|
||||
|
||||
// DefaultServerReadHeaderTimeout returns the server default read header timeout.
|
||||
func (s *Settings) DefaultServerReadHeaderTimeout() time.Duration {
|
||||
return defaultServerReadHeaderTimeout
|
||||
}
|
||||
|
||||
// Consolidate reconciles whatever values are set in config and via flags and
|
||||
// sets it to one place that should be regarded as a single source of truth -
|
||||
// the settings struct. Order of preference for values is (from higher to
|
||||
|
Loading…
Reference in New Issue
Block a user