PluginProbe
Code Snippets / trunk
Code Snippets vtrunk
4.0.0-beta.2 3.10.2 3.10.1 3.10.0 3.10.0-beta.2 3.10.0-beta.1 4.0.0-beta.1 3.9.6 trunk 2.10.0 2.10.1 2.12.0 2.12.1 2.13.0 2.13.1 2.13.2 2.13.3 2.14.0 2.14.1 2.14.2 2.14.3 2.14.4 2.14.5 2.14.6 3.0.0 All 65 releases
← All changes | js/hooks/useRestAPI.tsx +8 -2 3.10.0 → trunk View file →
@@ -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 } 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 {
@@ -57,9 +57,15 @@
57 57
58 58 const [Context, useRestAPI] = createContextHook<RestAPIContext>('useRestAPI')
59 59
60 60 export const WithRestAPIContext: React.FC<PropsWithChildren> = ({ children }) => {
61 - const axiosInstance = useMemo(() => axios.create(REST_API_AXIOS_CONFIG), [])
61 + const axiosInstance = useMemo(() => {
62 + const instance = axios.create(REST_API_AXIOS_CONFIG)
63 + instance.interceptors.request.use(applyRestNonce)
64 + instance.interceptors.request.use(applyMethodOverride)
65 + listenForNonceRefresh()
66 + return instance
67 + }, [])
62 68
63 69 const api = useMemo(() => buildRestAPI(axiosInstance), [axiosInstance])
64 70 const value: RestAPIContext = { api, axiosInstance }
65 71