Improve HTTP timeout config

This commit is contained in:
2025-01-05 15:35:27 -05:00
parent 4a99f06987
commit c6514e0590
5 changed files with 80 additions and 28 deletions

View File

@ -1,5 +1,7 @@
package config
import "time"
// Default Settings
var DefaultConfig = &AppConfig{
Environment: "development",
@ -12,7 +14,10 @@ var DefaultConfig = &AppConfig{
TimeFormat: TimeFormatLong,
},
HTTP: &HTTPConfig{
Listen: "127.0.0.1:8080",
Listen: "127.0.0.1:8080",
ReadTimeout: "10s",
WriteTimeout: "10s",
IdleTimeout: "1m",
},
OTEL: &OTELConfig{
Enabled: true,
@ -70,8 +75,13 @@ const (
// HTTP Configuration
type HTTPConfig struct {
Listen string `yaml:"listen,omitempty" env:"APP_HTTP_LISTEN"`
RequestTimeout int `yaml:"requestTimeout,omitempty" env:"APP_HTTP_REQUEST_TIMEOUT"`
Listen string `yaml:"listen,omitempty" env:"APP_HTTP_LISTEN"`
ReadTimeout string `yaml:"readTimeout" env:"APP_HTTP_READ_TIMEOUT"` // Go duration (e.g. 10s)
WriteTimeout string `yaml:"writeTimeout" env:"APP_HTTP_WRITE_TIMEOUT"` // Go duration (e.g. 10s)
IdleTimeout string `yaml:"idleTimeout" env:"APP_HTTP_IDLE_TIMEOUT"` // Go duration (e.g. 10s)
rT *time.Duration
wT *time.Duration
iT *time.Duration
}
// OTEL Configuration