Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

index.js 1.2KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import axios from "axios";
  2. import { API_ENDPOINT } from "./endpointDef";
  3. const request = axios.create({
  4. baseURL: API_ENDPOINT,
  5. headers: {
  6. "Content-Type": "application/json",
  7. },
  8. });
  9. export const getRequest = (url, params = null, options = null) =>
  10. request.get(url, { params, ...options });
  11. export const postRequest = (url, data, params = null, options = null) =>
  12. request.post(url, data, { params, ...options });
  13. export const putRequest = (url, data, params = null, options = null) =>
  14. request.put(url, data, { params, ...options });
  15. export const patchRequest = (url, data, params = null, options = null) =>
  16. request.patch(url, data, { params, ...options });
  17. export const deleteRequest = (url, params = null, options = null) =>
  18. request.delete(url, { params, ...options });
  19. export const addHeaderToken = (token) => {
  20. request.defaults.headers.Authorization = `Bearer ${token}`;
  21. };
  22. export const removeHeaderToken = () => {
  23. delete request.defaults.headers.Authorization;
  24. };
  25. export const attachPostRequestListener = (postRequestListener) => {
  26. request.interceptors.response.use(
  27. (response) => response,
  28. (response) => postRequestListener(response)
  29. );
  30. };
  31. export const apiDefaultUrl = request.defaults.baseURL;