| Server IP : 170.10.161.225 / Your IP : 216.73.217.54 Web Server : Apache System : Linux vps103298.mylogin.co 4.18.0-513.11.1.el8_9.x86_64 #1 SMP Wed Jan 17 02:00:40 EST 2024 x86_64 User : calvet ( 273824) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : ON Directory : /home/www/calvetrealty.com/wp-content/plugins/code-snippets/js/utils/api/ |
Upload File : |
import axios, { AxiosResponse } from 'axios'
import { trimLeadingChar, trimTrailingChar } from '../general'
const REST_BASE = window.CODE_SNIPPETS?.restAPI.base ?? ''
const getRestUrl = (endpoint: string): string =>
`${trimTrailingChar(REST_BASE, '/')}/${trimLeadingChar(endpoint, '/')}`
const GET_CACHE: Record<string, AxiosResponse> = {}
export const getCached = <T>(endpoint: string, refresh = false): Promise<AxiosResponse<T>> =>
!refresh && GET_CACHE[endpoint] ?
Promise.resolve(GET_CACHE[endpoint]) :
axios.get<T>(getRestUrl(endpoint))
.then(response => {
GET_CACHE[endpoint] = response
return response
})