diff --git a/src/utils/axios-request.ts b/src/utils/axios-request.ts new file mode 100644 index 0000000..c057003 --- /dev/null +++ b/src/utils/axios-request.ts @@ -0,0 +1,32 @@ +import axios, { AxiosError, AxiosResponse } from 'axios'; + +const baseUrl = process.env.EXPO_PUBLIC_API_URL; + +const client = axios.create({baseURL : baseUrl}); + + +const axiosRequest = async ({...options}) : Promise => { + // console.log("base Url", baseUrl); + client.defaults.headers.common.Authorization = `Bearer ${""}`; + // client.defaults.headers.common['Content-Type'] = 'application/json'; + // console.log("client default", client.defaults); + // console.log("client datas", client.defaults.data); + console.log("options", options); + + + const onSuccess = (response : T) => response; + const onError = (error : AxiosError) => { + console.log('request error', error); + throw error; + }; + + try { + const response : AxiosResponse = await client({ ...options, method: "POST" }); + return onSuccess(response.data); + } catch (error : any) { + console.error("Axios Request Error :: ", error.response.data); + return onError(error); + } +} + +export default axiosRequest; \ No newline at end of file