From 8b8a786c167700229189be0f91de716e9ce92c3c Mon Sep 17 00:00:00 2001 From: Shelikhoo Date: Sat, 4 May 2024 07:09:26 +0100 Subject: [PATCH] Add timeout for http request roundtripper --- .../internet/request/roundtripper/httprt/httprt.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/transport/internet/request/roundtripper/httprt/httprt.go b/transport/internet/request/roundtripper/httprt/httprt.go index 30f1ad66a3..16035a460b 100644 --- a/transport/internet/request/roundtripper/httprt/httprt.go +++ b/transport/internet/request/roundtripper/httprt/httprt.go @@ -9,6 +9,7 @@ import ( "io" gonet "net" "net/http" + "time" "github.com/v2fly/v2ray-core/v5/transport/internet/transportcommon" @@ -119,7 +120,14 @@ func (h *httpTripperServer) Start() error { } h.listener = listener go func() { - err := http.Serve(listener, h) + httpServer := http.Server{ + ReadHeaderTimeout: 15 * time.Second, + ReadTimeout: 15 * time.Second, + WriteTimeout: 10 * time.Second, + IdleTimeout: 30 * time.Second, + } + httpServer.Handler = h + err := httpServer.Serve(h.listener) if err != nil { newError("unable to serve listener for http tripper server").Base(err).WriteToLog() }