@undefined_title

Как в обьект CALL_API из redux-api-middleware добавить header через свой middleware?

Action
import { CALL_API } from 'redux-api-middleware';

export const MOVIES_GET_SUCCESS = 'MOVIES_GET_SUCCESS';

export const getMovies = () => {
  return {
    [CALL_API]: {
      endpoint: 'http://localhost:3005/api/movies',
      method: 'GET',
      headers: {
        'Content-Type': 'application/json'
      },
      types: [type: 'REQUEST', MOVIES_GET_SUCCESS, 'FAILURE']
    }
  };
};

Мой Middleware
export default store => next => action => {
  if (typeof action !== 'function' && action.type.search(/REQUEST/) !== -1) {
    if (Object.keys(action).indexOf('headers') !== -1) {
      // здесь Action который я написал выше
      // console.log(action) -> Object {type: "REQUEST", payload: undefined, meta: undefined}
    }
    console.log(action);
  }
  next(action);
};

До этого я везде где диспатчил экшин передавал параметром token { authorization: token }, и на сервере уже обрабатывал запрос, но это плохой солюшин, думаю через мидлвар все бы было намного удобней, внем всем екшинам с type:'REQUEST' добавить { authorization: 'token' } где token стянутый через Store, как можно это сделать?
  • Вопрос задан
  • 586 просмотров
Решения вопроса 1
@undefined_title Автор вопроса
Комментировать
Пригласить эксперта
Ответы на вопрос 1
miraage
@miraage
Старый прогер
{
  [CALL_API]: {
    ...
    headers: { 'Content-Type': 'application/json', 'Authorization': 'token' }
    ...
  }
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы