in src/amo/reducers/errorPage.js [50:91]
export default function errorPage(
// eslint-disable-next-line default-param-last
state: ErrorPageState = initialState,
action: Action,
): ErrorPageState {
const { payload } = action;
switch (action.type) {
case LOCATION_CHANGE: {
if (state.clearOnNext) {
return initialState;
}
return {
...state,
clearOnNext: true,
};
}
case LOAD_ERROR_PAGE: {
// Default to a 500 error if we don't have a status code from our
// response. See:
// github.com/mozilla/addons-frontend/pull/1685#discussion_r99243105
let statusCode = 500;
if (
payload.error &&
payload.error.response &&
payload.error.response.status
) {
statusCode = payload.error.response.status;
}
return {
...state,
error: payload.error,
hasError: true,
statusCode,
};
}
default:
return state;
}
}