BaseProvider.ts 937 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. import { NuxtAxiosInstance } from '@nuxtjs/axios'
  2. import { AxiosRequestConfig } from 'axios'
  3. class BaseProvider {
  4. protected connector: NuxtAxiosInstance;
  5. constructor (connector: NuxtAxiosInstance) {
  6. this.connector = connector
  7. }
  8. /**
  9. * Initialisation du connecteur Axios
  10. * @param {NuxtAxiosInstance} connector
  11. */
  12. initConnector (connector: NuxtAxiosInstance) {
  13. this.connector = connector
  14. }
  15. /**
  16. * Send a GET request
  17. * @param {string} url
  18. * @return {Promise<any>}
  19. */
  20. async get (url: string): Promise<any> {
  21. const config: AxiosRequestConfig = {
  22. url: `${url}`,
  23. method: 'GET'
  24. }
  25. return await this.request(config)
  26. }
  27. /**
  28. * Exécution de la requete
  29. * @param {AxiosRequestConfig} config
  30. * @return {Promise<any>}
  31. */
  32. async request (config: AxiosRequestConfig): Promise<any> {
  33. return await this.connector.$request(config)
  34. }
  35. }
  36. export default BaseProvider