Conversation
# Conflicts: # package-lock.json
| @@ -0,0 +1,22 @@ | |||
| export type TValueOrGetter<T> = T extends Function ? never : T | (() => T); | |||
There was a problem hiding this comment.
Зачем этот сервис? Работа с токенами должна быть в другом пакете
|
|
||
| const httpClientInstance = new AxiosHttpClient({ baseURL: baseUrl }); | ||
|
|
||
| const response = await httpClientInstance |
|
Нужно пакет везде переименовать по коду. |
|
Зачем папка |
|
temporary - это временная помойка из файлов Дениса из которых я забрал все полезное, плюс код обновления токенов который надо вынести оттуда отдельно |
# Conflicts: # package-lock.json # vitest.config.mjs
|
Возможен 2 вариант использования: создать экземпляр запроса, и его уже использовать при каждом обращении В таком случае возможно нужно сбрасывать предыдущие праметры (params), хедеры (headers) и body перезаписать |
Тут встает проблема, что методы экземпляра запроса мы можем использовать по несколько раз и независимо от тогда как работает метод - расширяет или переписывает значение (хедера, параметра, боди и тд), мы теряем контроль над значениями параметров экземпляра, так как каждый вызов запрос может их изменять. |
На основании изучения наших проектов, я выделил список того что нам нужно от базового клиента:
✅1. Запросы get, post, patch, put, delete
✅2. Возможность задания базовых настроек (baseUrl, headers, timeout и т.д.)
✅3. Возможность встраивать вызов функции перед запросами и после запроса (аналог интерцепторов)
✅4. Отменяемые запросы
✅5. Типизация возвращаемых ответов и ошибок
✅6. Возможность передавать объект с параметрами запроса которые преобразуются в query params и добавляются к урлу
✅7. Создание запросов по паттерну "строитель"