@directus/api
Version:
Directus is a real-time API and App dashboard for managing SQL database content
30 lines (29 loc) • 970 B
JavaScript
import { getAxios } from '../request/index.js';
export class DeploymentDriver {
credentials;
options;
constructor(credentials, options = {}) {
this.credentials = credentials;
this.options = options;
}
async axiosRequest(apiUrl, endpoint, options = {}) {
const { params, ...requestOptions } = options;
const url = new URL(endpoint, apiUrl);
if (params) {
for (const [key, value] of Object.entries(params)) {
url.searchParams.set(key, value);
}
}
const axios = await getAxios();
const requestConfig = {
url: url.toString(),
method: requestOptions.method ?? 'GET',
validateStatus: () => true,
headers: requestOptions.headers ?? {},
};
if (requestOptions.body) {
requestConfig.data = requestOptions.body;
}
return await axios.request(requestConfig);
}
}