f5-conx-core
Version:
F5 SDK for JavaScript with Typescript type definitions
60 lines (59 loc) • 1.69 kB
TypeScript
import { AxiosRequestConfig, AxiosRequestHeaders, InternalAxiosRequestConfig, Method, ResponseType } from "axios";
import { HttpTimings } from "../httpTimer";
export type F5HttpRequest = {
baseURL?: string;
method?: Method;
url?: string;
headers?: AxiosRequestHeaders | Partial<Record<string, string> & {
"set-cookie"?: string[];
}>;
data?: any;
validateStatus?: any;
advancedReturn?: boolean;
contentType?: string;
responseType?: ResponseType;
config?: {
uuid?: string;
};
};
/**
* custom http response with timings, based on axios response
*/
export type HttpResponse<T = any> = {
data?: T;
status: number;
statusText: string;
headers?: AxiosRequestHeaders | Partial<Record<string, string> & {
"set-cookie"?: string[];
}>;
async?: HttpResponse[];
request?: {
baseURL: string;
url: string;
uuid?: string;
method: string;
headers: AxiosRequestHeaders;
protocol: string;
timings?: HttpTimings;
};
};
export interface CustomAxiosRequestConfig extends InternalAxiosRequestConfig {
uuid?: string;
}
export interface AxiosResponseWithTimings {
data?: any;
headers?: AxiosRequestHeaders | Partial<Record<string, string> & {
"set-cookie"?: string[];
}>;
request: any;
statusText: string;
status?: number;
config?: uuidAxiosRequestConfig;
async?: AxiosResponseWithTimings[];
}
export interface uuidAxiosRequestConfig extends AxiosRequestConfig {
uuid?: string;
transport?: unknown;
rejectUnauthorized?: boolean;
headers?: AxiosRequestHeaders | Partial<Record<string, string>>;
}