UNPKG

@mittwald/react-use-promise

Version:

Simple and declarative use of Promises in your React components. Observe their state and refresh them in various advanced ways.

22 lines (21 loc) 756 B
import axios from "axios"; import { getAsyncResource } from "../resource/getAsyncResource.js"; export const getHttpResource = (url, requestConfig, options) => { const requestConfigWithDefaults = { method: "GET", url, ...requestConfig, }; const uriTag = axios.getUri(requestConfigWithDefaults); const methodTag = requestConfigWithDefaults.method.toUpperCase(); const tagsFromOptions = options?.tags ?? []; const resourceOptionsWithDefaults = { ...options, tags: [ `http/method/${methodTag}`, `http/uri/${uriTag}`, ...tagsFromOptions, ], }; return getAsyncResource(axios.request, [requestConfigWithDefaults], resourceOptionsWithDefaults); };