Вопрос: Как создать кастомный `RoundTripper` (middleware для клиента)?
Python
Senior
Без компании
Вопрос: Как создать кастомный `RoundTripper` (middleware для клиента)?
Ответы
```go
type rtFunc func(*http.Request) (*http.Response, error)
func (f rtFunc) RoundTrip(r *http.Request) (*http.Response, error) { return f(r) }
base := http.DefaultTransport
client := &http.Client{Transport: rtFunc(func(r *http.Request) (*http.Response, error) {
r.Header.Set("X-Trace", "abc")
return base.RoundTrip(r)
})}
```
**Как это работает:** `RoundTripper` — интерфейс транспорта клиента. Можно вставлять заголовки/логирование/метрики.