const baseQuery = fetchBaseQuery({ baseUrl: 'url', prepareHeaders: (headers, { getState }) => { const token = getState().auth.token // If we have a token set in state, let's assume that we should be passing it. if (token) { headers.set('authorization', `Bearer ${token}`) } return headers } }) const baseQueryWithReauth = async (args, api, extraOptions) => { let result = await baseQuery(args, api, extraOptions) if (result?.error?.originalStatus === 401) { //I noticed result.error.originalStatus always returned undefine console.log('sending refresh token') const refreshResult = await baseQuery({ url: '/users/generateTokens', method: 'POST' }, api, extraOptions) console.log(refreshResult) if (refreshResult?.data) { const user = api.getState().auth.user api.dispatch(setCredits({ ...refreshResult.data, user })) result = await baseQuery(args, api, extraOptions) console.log(result) } else { api.dispatch(logOut()) } } return result }