тут про принципы и паттерны начали. Пример - oauth или что угодно другое где есть токены и время жизни. Каждый запрос потенциально может быть выполнен с протухшим токеном и нужно это глобально обрабатывать, делать на лету refresh token вызов и повторить исходный запрос который изначально не прошёл. В случае неудачного refresh token мы должны отредиректить пользователя на форму логина показать алерт какой нибудь и тд. Вопрос, с какой стати http сервис должен что-то об этом знать? Это не его ответственность работать с oauth , кого-то редиректить и вызывать алерты. Http должен делать только http запросы в рамках протокола
Я как раз такое реализовал с angular-jwt. С использованием Rx все это делается достаточно просто и понятно. Потому как и повторы и работа токена, все это внешний сервис. Сам jwt только добавляет headers
Single Responsiblity - это не означает что 1 класс должен делать 1 действие - Single Reposibility - это "one reason to change" у всего должна быть 1 причина для изменения. Изменился способ общения с HTTP - изменил класс. Все логично и просто. Ты на MoscowJS 24-го пойдешь? http://moscowjs.ru/talk/solidniy-javascript
Обсуждают сегодня