@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
JavaScript
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);
};