/* tslint:disable */ /* eslint-disable */ /** * IDMesh-Dev * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import type { Configuration } from "./configuration"; import type { RequestArgs } from "./base"; import type { AxiosInstance, AxiosResponse } from 'axios'; import { RequiredError } from "./base"; import { SDKConfig } from "./base"; import { AxiosRequestConfig } from "axios"; import * as sm3 from "sm3"; /** * * @export */ export const DUMMY_BASE_URL = 'https://example.com' /** * * @throws {RequiredError} * @export */ export const assertParamExists = function (functionName: string, paramName: string, paramValue: unknown) { if (paramValue === null || paramValue === undefined) { throw new RequiredError(paramName, `Required parameter ${paramName} was null or undefined when calling ${functionName}.`); } } /** * * @export */ export const setApiKeyToObject = async function (object: any, keyParamName: string, configuration?: Configuration) { if (configuration && configuration.apiKey) { const localVarApiKeyValue = typeof configuration.apiKey === 'function' ? await configuration.apiKey(keyParamName) : await configuration.apiKey; object[keyParamName] = localVarApiKeyValue; } } /** * * @export */ export const setBasicAuthToObject = function (object: any, configuration?: Configuration) { if (configuration && (configuration.username || configuration.password)) { object["auth"] = { username: configuration.username, password: configuration.password }; } } /** * * @export */ export const setBearerAuthToObject = async function (object: any, configuration?: Configuration) { if (configuration && configuration.accessToken) { const accessToken = typeof configuration.accessToken === 'function' ? await configuration.accessToken() : await configuration.accessToken; object["Authorization"] = "Bearer " + accessToken; } } /** * * @export */ export const setOAuthToObject = async function (object: any, name: string, scopes: string[], configuration?: Configuration) { if (configuration && configuration.accessToken) { const localVarAccessTokenValue = typeof configuration.accessToken === 'function' ? await configuration.accessToken(name, scopes) : await configuration.accessToken; object["Authorization"] = "Bearer " + localVarAccessTokenValue; } } function setFlattenedQueryParams(urlSearchParams: URLSearchParams, parameter: any, key: string = ""): void { if (parameter == null) return; if (typeof parameter === "object") { if (Array.isArray(parameter)) { (parameter as any[]).forEach(item => setFlattenedQueryParams(urlSearchParams, item, key)); } else { Object.keys(parameter).forEach(currentKey => setFlattenedQueryParams(urlSearchParams, parameter[currentKey], `${key}${key !== '' ? '.' : ''}${currentKey}`) ); } } else { if (urlSearchParams.has(key)) { urlSearchParams.append(key, parameter); } else { urlSearchParams.set(key, parameter); } } } /** * * @export */ export const setSearchParams = function (url: URL, ...objects: any[]) { const searchParams = new URLSearchParams(url.search); setFlattenedQueryParams(searchParams, objects); url.search = searchParams.toString(); } /** * * @export */ export const serializeDataIfNeeded = function (value: any, requestOptions: any, configuration?: Configuration) { const nonString = typeof value !== 'string'; const needsSerialization = nonString && configuration && configuration.isJsonMime ? configuration.isJsonMime(requestOptions.headers['Content-Type']) : nonString; return needsSerialization ? JSON.stringify(value !== undefined ? value : {}) : (value || ""); } /** * * @export */ export const toPathString = function (url: URL) { return url.pathname + url.search + url.hash } const randomStr = (len: number) => { if (!Number.isInteger(len)) { return 'due'; } let r = ''; if (len === 0) { return r; } const s = 'qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM'; for (let i = 0; i < len; i++) { r += s[Math.floor(Math.random() * s.length)]; } return r; } const signWithSm3 = (ak: string, sk: string, reqConfig: AxiosRequestConfig, url: string) => { const nonce = randomStr(20); const timestamp = Date.now(); if(!["POST","PUT","PATCH"].includes((reqConfig.method ?? 'GET').toUpperCase())){ if (!reqConfig.params) { reqConfig.params = {}; } reqConfig.params["nonce"] = nonce; reqConfig.params["timestamp"] = timestamp; } else { if (!reqConfig.data) { reqConfig.data = {}; } reqConfig.data["nonce"] = nonce; reqConfig.data["timestamp"] = timestamp; } let str = `${url}`; str += `nonce=${nonce}&`; str += `timestamp=${timestamp}`; str += `${sk}`; const s = `${ak}$sm3$${sm3(str)}`; const headers = reqConfig.headers; reqConfig.headers = { ...headers, 'X-Idmesh-Signature': s }; } /** * * @export */ export const createRequestFunction = function (axiosArgs: RequestArgs, globalAxios: AxiosInstance, configuration?: Configuration) { return >(axios: AxiosInstance = globalAxios, sdkConfig: SDKConfig) => { const axiosRequestArgs = {...axiosArgs.options, url: sdkConfig.basePath + axiosArgs.url}; signWithSm3(sdkConfig.ak!, sdkConfig.sk!, axiosRequestArgs, axiosArgs.url); return axios.request(axiosRequestArgs); }; }