UNPKG

solver-sdk

Version:

SDK для интеграции с Code Solver Backend API (совместимо с браузером и Node.js), с поддержкой функциональности мышления (Thinking Mode)

102 lines 4.42 kB
import { IHttpClient, HttpClientOptions, RequestOptions } from '../interfaces/http-client.js'; declare module 'axios' { interface AxiosRequestConfig { skipRetry?: boolean; } } /** * HTTP клиент для выполнения запросов к API * * Предоставляет методы для работы с REST API, включая обработку ошибок, * повторные попытки и таймауты. */ export declare class HttpClient implements IHttpClient { /** Базовый URL для запросов */ private readonly baseURL; /** Опции HTTP клиента */ private readonly options; /** Axios инстанс */ private readonly axiosInstance; /** Среда выполнения */ private readonly environment; /** * Создает новый HTTP клиент * @param {string} baseURL Базовый URL для запросов * @param {HttpClientOptions} [options] Опции для HTTP клиента */ constructor(baseURL: string, options?: HttpClientOptions); /** * Настраивает интерцепторы Axios */ private setupInterceptors; /** * Выполняет HTTP запрос * @param {RequestOptions} options Опции запроса * @returns {Promise<T>} Ответ от API */ request<T = any>(options: RequestOptions): Promise<T>; /** * Выполняет GET запрос * @param {string} url URL для запроса * @param {Record<string, any>} [params] Query параметры * @param {Record<string, string>} [headers] HTTP заголовки * @returns {Promise<T>} Ответ от API */ get<T = any>(url: string, params?: Record<string, any>, headers?: Record<string, string>): Promise<T>; /** * Выполняет POST запрос * @param {string} url URL для запроса * @param {any} [data] Данные для отправки * @param {Record<string, string>} [headers] HTTP заголовки * @returns {Promise<T>} Ответ от API */ post<T = any>(url: string, data?: any, headers?: Record<string, string>): Promise<T>; /** * Выполняет PUT запрос * @param {string} url URL для запроса * @param {any} [data] Данные для отправки * @param {Record<string, string>} [headers] HTTP заголовки * @returns {Promise<T>} Ответ от API */ put<T = any>(url: string, data?: any, headers?: Record<string, string>): Promise<T>; /** * Выполняет DELETE запрос * @param {string} url URL для запроса * @param {Record<string, any>} [params] Query параметры * @param {Record<string, string>} [headers] HTTP заголовки * @returns {Promise<T>} Ответ от API */ delete<T = any>(url: string, params?: Record<string, any>, headers?: Record<string, string>): Promise<T>; /** * Выполняет PATCH запрос * @param {string} url URL для запроса * @param {any} [data] Данные для отправки * @param {Record<string, string>} [headers] HTTP заголовки * @returns {Promise<T>} Ответ от API */ patch<T = any>(url: string, data?: any, headers?: Record<string, string>): Promise<T>; /** * Выполняет POST запрос с потоковым ответом * @param {string} url URL для запроса * @param {any} [data] Данные для отправки * @param {Record<string, string>} [headers] HTTP заголовки * @returns {Promise<Response>} Объект Response с потоком данных */ postStream(url: string, data?: any, headers?: Record<string, string>): Promise<Response>; /** * Обрабатывает ошибки от Axios * @param {any} error Ошибка от Axios * @returns {Error} Обработанная ошибка */ private handleError; /** * Получает экземпляр Axios для тестирования */ get axiosConfig(): any; /** * Получает базовый URL API * @returns {string} Базовый URL */ getBaseURL(): string; } //# sourceMappingURL=http-client.d.ts.map