@simpleapps-com/augur-api
Version:
TypeScript client library for Augur microservices API endpoints
33 lines • 1.31 kB
TypeScript
import { AugurAPIConfig, RequestConfig } from './config';
export declare class HTTPClient {
private axios;
private config;
private serviceName;
private inflightRequests;
constructor(serviceName: string, config: AugurAPIConfig);
private setupInterceptors;
private handleHttpError;
private handleNetworkError;
/**
* Executes a single request attempt
* @param requestFn Function that performs the actual request
* @param attempt Current attempt number
* @param maxRetries Maximum number of retries
* @param baseDelay Base delay for exponential backoff
* @returns Promise resolving to the response
*/
private executeAttempt;
/**
* Executes a request with retry logic
* @param requestFn Function that performs the actual request
* @returns Promise resolving to the response
*/
private executeWithRetry;
get<T>(url: string, params?: unknown, config?: RequestConfig): Promise<T>;
post<T>(url: string, data?: unknown, config?: RequestConfig): Promise<T>;
put<T>(url: string, data?: unknown, config?: RequestConfig): Promise<T>;
delete<T>(url: string, config?: RequestConfig): Promise<T>;
setBearerToken(token: string): void;
setSiteId(siteId: string): void;
}
//# sourceMappingURL=client.d.ts.map