mirror of
https://github.com/MetaCubeX/mihomo.git
synced 2024-11-16 11:42:43 +08:00
fix: tcp concurrent force close when context done
This commit is contained in:
parent
3116efd498
commit
f0b3c6a0c9
|
@ -151,6 +151,7 @@ func (p *Proxy) URLTest(ctx context.Context, url string) (t uint16, err error) {
|
|||
}
|
||||
|
||||
client := http.Client{
|
||||
Timeout: 30 * time.Second,
|
||||
Transport: transport,
|
||||
CheckRedirect: func(req *http.Request, via []*http.Request) error {
|
||||
return http.ErrUseLastResponse
|
||||
|
@ -168,13 +169,12 @@ func (p *Proxy) URLTest(ctx context.Context, url string) (t uint16, err error) {
|
|||
_ = resp.Body.Close()
|
||||
|
||||
if unifiedDelay {
|
||||
start = time.Now()
|
||||
respRepeat, err := client.Do(req)
|
||||
if err != nil {
|
||||
return 0, err
|
||||
second := time.Now()
|
||||
resp, err = client.Do(req)
|
||||
if err == nil {
|
||||
_ = resp.Body.Close()
|
||||
start = second
|
||||
}
|
||||
|
||||
_ = respRepeat.Body.Close()
|
||||
}
|
||||
|
||||
t = uint16(time.Since(start) / time.Millisecond)
|
||||
|
|
Loading…
Reference in New Issue
Block a user