Spaces:
Runtime error
Runtime error
File size: 502 Bytes
8086ffb |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
async function fetchAPI<TBody, TResponse>(
url: string,
method: 'GET' | 'POST' | 'PUT' | 'DELETE' = 'POST',
body?: TBody,
headers?: HeadersInit
): Promise<TResponse> {
const response = await fetch(url, {
method,
headers: {
'Content-Type': 'application/json',
...headers
},
body: JSON.stringify(body)
});
if (!response.ok) {
throw new Error(`HTTP error! Status: ${response.status}`);
}
return response.json() as TResponse;
}
export default fetchAPI;
|