Appearance
Метод copy
Метод copy()
класса HttpClient
позволяет создать новый экземпляр клиента с идентичными настройками (baseUrl, headers, middleware), не затрагивая оригинальный объект.
Для чего нужен
- Изоляция конфигураций: Позволяет создавать независимые копии клиента для разных задач, не влияя на исходный экземпляр.
- Безопасное расширение: Можно добавить или удалить middleware, изменить заголовки или базовый URL только для копии, не затрагивая основной клиент.
- Удобство тестирования: Легко создавать временные клиенты для тестов или специфических запросов.
Пример использования
ts
const client = new HttpClient({
baseUrl: "https://api.example.com",
}).registerMiddleware(authMiddleware);
// Создаём копию клиента и добавляем дополнительный middleware
const clientWithLogger = client.copy().registerMiddleware(loggerMiddleware);
// Оригинальный client не изменился, а clientWithLogger теперь логирует запросы
Особенности
- Копируются все middleware, заголовки и baseUrl.
- Копия полностью независима: изменения в копии не затрагивают оригинал.
- Удобно использовать для временных изменений конфигурации или для параллельных запросов с разными настройками.
Рекомендуется использовать copy()
, если нужно временно изменить поведение клиента или создать несколько клиентов с похожей, но не идентичной конфигурацией.