HTTP transport: Fix an issue when HTTP client start fail with 403 (#3910)

Co-authored-by: RPRX <63339210+RPRX@users.noreply.github.com>
This commit is contained in:
yuhan6665 2024-10-14 22:55:48 -04:00 committed by GitHub
parent 8c180b9cfd
commit 6a70ae6408
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -232,8 +232,12 @@ func Dial(ctx context.Context, dest net.Destination, streamSettings *internet.Me
wrc := &WaitReadCloser{Wait: make(chan struct{})}
go func() {
response, err := client.Do(request)
if err != nil || response.StatusCode != 200 {
if err != nil {
errors.LogWarningInner(ctx, err, "failed to dial to ", dest)
} else {
errors.LogWarning(ctx, "unexpected status ", response.StatusCode)
}
wrc.Close()
{
// Abandon `client` if `client.Do(request)` failed
@ -246,11 +250,6 @@ func Dial(ctx context.Context, dest net.Destination, streamSettings *internet.Me
}
return
}
if response.StatusCode != 200 {
errors.LogWarning(ctx, "unexpected status", response.StatusCode)
wrc.Close()
return
}
wrc.Set(response.Body)
}()