Allow setting Read/Write/Idle timeouts
This commit is contained in:
parent
517eb1652a
commit
953990eb8f
|
@ -27,12 +27,14 @@ type Server struct {
|
||||||
Debug bool
|
Debug bool
|
||||||
Handler RequestHandler
|
Handler RequestHandler
|
||||||
|
|
||||||
|
ReadTimeout time.Duration
|
||||||
|
WriteTimeout time.Duration
|
||||||
|
IdleTimeout time.Duration
|
||||||
|
|
||||||
extraHeadersMutex sync.RWMutex
|
extraHeadersMutex sync.RWMutex
|
||||||
extraHeaders map[string]string
|
extraHeaders map[string]string
|
||||||
}
|
}
|
||||||
|
|
||||||
const ServeStreamChunked = -1
|
|
||||||
|
|
||||||
type RequestContext interface {
|
type RequestContext interface {
|
||||||
GetPath() string
|
GetPath() string
|
||||||
GetConnectionTime() time.Time
|
GetConnectionTime() time.Time
|
||||||
|
@ -94,8 +96,9 @@ func (server *Server) Serve() {
|
||||||
}
|
}
|
||||||
|
|
||||||
s := &fasthttp.Server{
|
s := &fasthttp.Server{
|
||||||
ReadTimeout: 5 * time.Second,
|
ReadTimeout: server.ReadTimeout,
|
||||||
IdleTimeout: 15 * time.Second,
|
WriteTimeout: server.WriteTimeout,
|
||||||
|
IdleTimeout: server.IdleTimeout,
|
||||||
Handler: func(ctx *fasthttp.RequestCtx) {
|
Handler: func(ctx *fasthttp.RequestCtx) {
|
||||||
server.Handler(handler(ctx))
|
server.Handler(handler(ctx))
|
||||||
},
|
},
|
||||||
|
@ -137,10 +140,11 @@ func (server *Server) Serve() {
|
||||||
}
|
}
|
||||||
|
|
||||||
s := &http.Server{
|
s := &http.Server{
|
||||||
ReadTimeout: 5 * time.Second,
|
ReadTimeout: server.ReadTimeout,
|
||||||
IdleTimeout: 15 * time.Second,
|
WriteTimeout: server.WriteTimeout,
|
||||||
Addr: server.ListenAddress,
|
IdleTimeout: server.IdleTimeout,
|
||||||
TLSConfig: server.TLSConfig.Config,
|
Addr: server.ListenAddress,
|
||||||
|
TLSConfig: server.TLSConfig.Config,
|
||||||
Handler: http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
Handler: http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||||||
server.Handler(handler(w, r))
|
server.Handler(handler(w, r))
|
||||||
}),
|
}),
|
||||||
|
@ -175,8 +179,11 @@ func (server *Server) Serve() {
|
||||||
|
|
||||||
s := &http3.Server{
|
s := &http3.Server{
|
||||||
Server: &http.Server{
|
Server: &http.Server{
|
||||||
Addr: server.ListenAddress,
|
ReadTimeout: server.ReadTimeout,
|
||||||
TLSConfig: server.TLSConfig.QUICConfig,
|
WriteTimeout: server.WriteTimeout,
|
||||||
|
IdleTimeout: server.IdleTimeout,
|
||||||
|
Addr: server.ListenAddress,
|
||||||
|
TLSConfig: server.TLSConfig.QUICConfig,
|
||||||
Handler: http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
Handler: http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||||||
if server.Debug {
|
if server.Debug {
|
||||||
log.Print("Received HTTP/3 request")
|
log.Print("Received HTTP/3 request")
|
||||||
|
|
Loading…
Reference in a new issue