chatgptfirewall / src /api /Request.ts
Mats Klein
init ChatGPTFirewall
8086ffb
raw
history blame contribute delete
854 Bytes
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;