/** * @license * @preserve * * Copyright 2023 KeeeX SAS * * Permission is hereby granted, free of charge, to any person obtaining a copy of * this software and associated documentation files (the "Software"), to deal in * the Software without restriction, including without limitation the rights to * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies * of the Software, and to permit persons to whom the Software is furnished to do * so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in all * copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. * */ import * as axios from "axios"; import { type AttachmentBody } from "./attachment.js"; import { type RequestSettings } from "./axios.js"; import { type ProgressFunc } from "./progresscallback.js"; import * as route from "./route.js"; /** @public */ export interface RawCallParameters { axiosOptions?: axios.AxiosRequestConfig; data?: Record | FormData | AttachmentBody; queue?: string; method: axios.Method; progressFunc?: ProgressFunc; queryArgs?: route.QueryArgs; responseType?: axios.ResponseType; route: string; urlArgs?: route.UrlArgs; } /** Base class to perform raw HTTP requests */ export default class RawSdk { private queues; private readonly settings; private proxy; constructor(requestSettings: RequestSettings); /** * Perform a raw call to the server. * * Will reject on network error, resolve on anything else. */ call: (parameters: RawCallParameters) => Promise>; /** * Return the axios instance for a given queue name. * * If the instance does not exists yet it is created. * Defaults to "". */ private readonly getQueueInstance; private readonly getProxy; }