| @@ -1,8 +1,8 @@ | ||
| 1 | 1 | import React, { useMemo } from 'react' |
| 2 | 2 | import axios from 'axios' |
| 3 | 3 | import { createContextHook } from '../utils/bootstrap' |
| 4 | -import { REST_API_AXIOS_CONFIG, applyMethodOverride } from '../utils/restAPI' | |
| 4 | +import { REST_API_AXIOS_CONFIG, applyMethodOverride, applyRestNonce, listenForNonceRefresh } from '../utils/restAPI' | |
| 5 | 5 | import type { PropsWithChildren } from 'react' |
| 6 | 6 | import type { AxiosInstance, AxiosRequestConfig, AxiosResponse } from 'axios' |
| 7 | 7 | |
| 8 | 8 | export interface RestAPIContext { |
| @@ -59,9 +59,11 @@ | ||
| 59 | 59 | |
| 60 | 60 | export const WithRestAPIContext: React.FC<PropsWithChildren> = ({ children }) => { |
| 61 | 61 | const axiosInstance = useMemo(() => { |
| 62 | 62 | const instance = axios.create(REST_API_AXIOS_CONFIG) |
| 63 | + instance.interceptors.request.use(applyRestNonce) | |
| 63 | 64 | instance.interceptors.request.use(applyMethodOverride) |
| 65 | + listenForNonceRefresh() | |
| 64 | 66 | return instance |
| 65 | 67 | }, []) |
| 66 | 68 | |
| 67 | 69 | const api = useMemo(() => buildRestAPI(axiosInstance), [axiosInstance]) |