@izzyjs/route
Version:
Use your AdonisJs routes in your Inertia.js application
52 lines (51 loc) • 1.65 kB
TypeScript
export interface HttpClientConfig {
timeout?: number;
headers?: Record<string, string>;
credentials?: RequestCredentials;
retries?: number;
retryDelay?: number;
retryCondition?: (error: any, attempt: number) => boolean;
requestInterceptor?: (config: RequestInit & {
url: string;
}) => (RequestInit & {
url: string;
}) | Promise<RequestInit & {
url: string;
}>;
responseInterceptor?: (response: Response) => Response | Promise<Response>;
errorInterceptor?: (error: any) => any | Promise<any>;
validateStatus?: (status: number) => boolean;
transformRequest?: (data: any) => any;
transformResponse?: (data: any) => any;
debug?: boolean;
logRequests?: boolean;
}
export declare class HttpClient {
private config;
constructor(config?: HttpClientConfig);
private getBodyType;
private request;
private isRetryableError;
get<T = any>(url: string, config?: RequestInit): Promise<{
data: T;
status: number;
}>;
post<T = any>(url: string, data?: any, config?: RequestInit): Promise<{
data: T;
status: number;
}>;
put<T = any>(url: string, data?: any, config?: RequestInit): Promise<{
data: T;
status: number;
}>;
delete<T = any>(url: string, config?: RequestInit): Promise<{
data: T;
status: number;
}>;
patch<T = any>(url: string, data?: any, config?: RequestInit): Promise<{
data: T;
status: number;
}>;
withConfig(additionalConfig: Partial<HttpClientConfig>): HttpClient;
getConfig(): Readonly<HttpClientConfig>;
}