У меня есть трудное время, чтобы понять, в чем мы нуждаемся RoundTripper
для Go.Go RoundTripper and Transport
https://golang.org/pkg/net/http/#RoundTripper
Объясняет по умолчанию Transport
в Go:
var DefaultTransport RoundTripper = &Transport{
Proxy: ProxyFromEnvironment,
Dial: (&net.Dialer{
Timeout: 30 * time.Second,
KeepAlive: 30 * time.Second,
}).Dial,
TLSHandshakeTimeout: 10 * time.Second,
}
Но что будет разница между RoundTripper
и это:
transport := &http.Transport{
Proxy: http.ProxyFromEnvironment,
TLSHandshakeTimeout: timeout,
Dial: dialfunc,
DisableKeepAlives: true,
}
Мой вопрос: RoundTripper
отличается от регулярного Transport
?
Вы хотите знать, для чего нужен «RoundTripper» или вы хотите знать, почему «DefaultTransport» имеет тип «RoundTripper»? Потому что интерфейс «RoundTripper» существует для совершения круглых поездок. – nemo
Я хочу знать, что такое RoundTripper –
Из документации: «RoundTripper - это интерфейс, представляющий возможность выполнять одну транзакцию HTTP, получая ответ для данного запроса». Он находится между низкоуровневыми вещами, такими как набор номера, tcp и т. Д., А также подробные сведения о HTTP-адресах (перенаправления и т. Д.). RoundTrip - это * метод * делает одну обратную отправку запроса, отправленного на сервер, сервер отвечает с ответом , – Volker