import { NuxtAxiosInstance } from '@nuxtjs/axios' import { AxiosRequestConfig } from 'axios' class BaseProvider { protected connector: NuxtAxiosInstance; constructor (connector: NuxtAxiosInstance) { this.connector = connector } /** * Initialisation du connecteur Axios * @param {NuxtAxiosInstance} connector */ initConnector (connector: NuxtAxiosInstance) { this.connector = connector } /** * Send a GET request * @param {string} url * @return {Promise} */ async get (url: string): Promise { const config: AxiosRequestConfig = { url: `${url}`, method: 'GET' } return await this.request(config) } /** * Exécution de la requete * @param {AxiosRequestConfig} config * @return {Promise} */ async request (config: AxiosRequestConfig): Promise { return await this.connector.$request(config) } } export default BaseProvider