UnderTreeTech/waterdrop

[optimize] http client X-Request-Timeout value wrongly assigned

UnderTreeTech opened this issue · 1 comments

Here at line 145 we should use timeout that calculate out between line 129~136, but not c.config.Timeout

// adjust request timeout
timeout := c.config.Timeout
if deadline, ok := ctx.Deadline(); ok {
derivedTimeout := time.Until(deadline)
if timeout > derivedTimeout {
timeout = derivedTimeout
}
}
ctx = metadata.NewOutgoingContext(ctx, metadata.MD(request.Header))
ctx, cancel := context.WithTimeout(ctx, timeout)
defer func() {
span.Finish()
cancel()
}()
request.SetHeader(_httpHeaderTimeout, strconv.Itoa(int(c.config.Timeout/1e6)))