UNPKG

@herlinus/coloquent

Version:

Library for retrieving model objects from a JSON-API, with a fluent syntax inspired by Laravel Eloquent.

40 lines 1.68 kB
import axios from 'axios'; import { AxiosHttpClientPromise } from "./AxiosHttpClientPromise"; export class AxiosHttpClient { constructor(axiosInstance) { if (axiosInstance === null || axiosInstance === undefined) { axiosInstance = axios.create(); axiosInstance.defaults.headers['Accept'] = 'application/vnd.api+json'; axiosInstance.defaults.headers['Content-type'] = 'application/vnd.api+json'; } this.axiosInstance = axiosInstance; } setBaseUrl(baseUrl) { this.axiosInstance.defaults.baseURL = baseUrl; } setWithCredentials(withCredientials) { this.axiosInstance.defaults.withCredentials = withCredientials; } get(url, config) { return new AxiosHttpClientPromise(this.axiosInstance.get(url, Object.assign({}, config))); } delete(url, config) { return new AxiosHttpClientPromise(this.axiosInstance.delete(url, Object.assign({}, config))); } head(url, config) { return new AxiosHttpClientPromise(this.axiosInstance.head(url, Object.assign({}, config))); } post(url, data, config) { return new AxiosHttpClientPromise(this.axiosInstance.post(url, data, Object.assign({}, config))); } put(url, data, config) { return new AxiosHttpClientPromise(this.axiosInstance.put(url, data, Object.assign({}, config))); } patch(url, data, config) { return new AxiosHttpClientPromise(this.axiosInstance.patch(url, data, Object.assign({}, config))); } getImplementingClient() { return this.axiosInstance; } } //# sourceMappingURL=AxiosHttpClient.js.map