setu.js
Version:
A lightweight HTTP client for Node.js and the browser, with smart adapter selection.
29 lines (28 loc) • 764 B
TypeScript
export interface HttpRequestConfig {
method?: string;
headers?: Record<string, string>;
body?: any;
params?: Record<string, any>;
timeout?: number;
retry?: number;
retryDelay?: number;
signal?: AbortSignal;
responseType?: 'json' | 'text' | 'blob' | 'stream' | 'arraybuffer' | 'document';
onUploadProgress?: (progress: {
loaded: number;
total?: number;
percent: number;
}) => void;
onDownloadProgress?: (progress: {
loaded: number;
total?: number;
percent: number;
}) => void;
validateStatus?: (status: number) => boolean;
}
export interface HttpResponse<T = any> {
status: number;
headers: Record<string, string>;
data: T;
filename?: string;
}