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