Spaces:
Runtime error
Runtime error
File size: 854 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 25 26 27 28 29 |
import axios, { AxiosRequestConfig, AxiosResponse } from 'axios';
async function Request<T>(config: AxiosRequestConfig): Promise<T> {
try {
// Accessing token for subsequent requests
const token = localStorage.getItem('userToken');
if (token == null) {
console.group('get token');
} else {
axios.defaults.headers.common['Authorization'] = `Bearer ${token}`;
}
const response: AxiosResponse<T> = await axios(config);
return response.data;
} catch (error) {
if (axios.isAxiosError(error)) {
console.error(
`API call failed with status: ${error.response?.status}`,
error.message
);
throw new Error(`API call failed: ${error.response?.status}`);
} else {
console.error('An unexpected error occurred', error);
throw error;
}
}
}
export default Request;
|