UNPKG

@dbs-portal/core-api

Version:

HTTP client and API utilities for DBS Portal

63 lines 1.89 kB
/** * Request utility functions */ import type { RequestConfig, MultipartFormData } from '../types'; /** * Serializes data for request body */ export declare function serializeRequestData(data: any, contentType?: string): BodyInit | null; /** * Creates FormData from object */ export declare function createFormData(data: MultipartFormData): FormData; /** * Merges request configurations */ export declare function mergeConfigs(defaultConfig: Partial<RequestConfig>, requestConfig: RequestConfig): RequestConfig; /** * Validates request configuration */ export declare function validateRequestConfig(config: RequestConfig): void; /** * Creates abort controller with timeout */ export declare function createAbortController(timeout?: number): { controller: AbortController; timeoutId?: NodeJS.Timeout; }; /** * Determines content type from data */ export declare function getContentType(data: any): string; /** * Checks if request should have body */ export declare function shouldHaveBody(method: string): boolean; /** * Sanitizes headers by removing undefined values */ export declare function sanitizeHeaders(headers: Record<string, any>): Record<string, string>; /** * Creates request signature for caching/deduplication */ export declare function createRequestSignature(config: RequestConfig): string; /** * Checks if request is cacheable */ export declare function isCacheableRequest(config: RequestConfig): boolean; /** * Estimates request size for monitoring */ export declare function estimateRequestSize(config: RequestConfig): number; /** * Creates request metadata for logging/monitoring */ export declare function createRequestMetadata(config: RequestConfig): { method: string; url: string; hasAuth: boolean; hasBody: boolean; estimatedSize: number; timestamp: number; }; //# sourceMappingURL=request-utils.d.ts.map