veza/apps/web/src/services/api/client.ts

30 lines
920 B
TypeScript
Raw Normal View History

/**
* S1.1: API Client Public entry point
*
* Re-exports the public API from split modules:
* - httpClient.ts Axios instance, config, constants
* - metrics.ts Validation metrics tracker
* - retry.ts Retry logic, network failure detection
* - interceptors.ts Request/response interceptors (side-effect import)
* - helpers.ts Cancellable requests, deduplication, utilities
*/
// Side-effect: registers request/response interceptors on apiClient
import './interceptors';
// Core HTTP client
export { apiClient, API_TIMEOUTS, SLOW_REQUEST_THRESHOLD } from './httpClient';
// Metrics
export { validationMetrics, validationAlerting } from './metrics';
export type { ValidationMetrics } from './metrics';
// Helpers
export {
createCancellableRequest,
createRequestWithTimeout,
deduplicatedApiClient,
isSlowRequest,
getRequestDuration,
} from './helpers';