UNPKG

trainingpeaks-sdk

Version:
44 lines 1.57 kB
import { type HttpMethod } from '../../application/index.js'; import type { HttpError } from '../../domain/types/http-error.js'; import type { Logger } from '../../domain/types/logger.js'; import type { SessionStorage } from './session-storage.js'; export interface RequestOptions { headers?: Record<string, string>; timeout?: number; params?: Record<string, string | number | boolean>; cookies?: string[]; } export type HttpResponse<T> = { data: T | null; success: boolean; error?: HttpError; cookies?: string[]; }; export type HttpClient = { get<T>(url: string, options?: RequestOptions): Promise<HttpResponse<T>>; post<T>(url: string, data?: unknown, options?: RequestOptions): Promise<HttpResponse<T>>; put<T>(url: string, data?: unknown, options?: RequestOptions): Promise<HttpResponse<T>>; patch<T>(url: string, data?: unknown, options?: RequestOptions): Promise<HttpResponse<T>>; delete<T>(url: string, options?: RequestOptions): Promise<HttpResponse<T>>; }; export type HttpClientConfig = { timeout?: number; headers?: Record<string, string>; enableCookies?: boolean; maxRedirects?: number; enableBrowserHeaders?: boolean; retryAttempts?: number; retryDelay?: number; retryBackoff?: number; retryMaxDelay?: number; retryJitter?: boolean; logger?: Logger; sessionStorage?: SessionStorage; }; export type InternalRequestConfig = { url: string; method: HttpMethod; data?: unknown; options?: RequestOptions; }; //# sourceMappingURL=http-client.d.ts.map