@kimsungwhee/apple-docs-mcp
Version:
MCP server for Apple Developer Documentation - Search iOS/macOS/SwiftUI/UIKit docs, WWDC videos, Swift/Objective-C APIs & code examples in Claude, Cursor & AI assistants
76 lines • 1.9 kB
TypeScript
/**
* HTTP client with timeout, retry, and rate limiting
*/
interface RequestOptions {
timeout?: number;
retries?: number;
retryDelay?: number;
headers?: Record<string, string>;
}
interface PerformanceStats {
totalRequests: number;
successfulRequests: number;
failedRequests: number;
totalResponseTime: number;
averageResponseTime: number;
successRate: number;
requestsByStatus: Record<number, number>;
requestsByDomain: Record<string, number>;
}
declare class HttpClient {
private requestQueue;
private activeRequests;
private readonly maxConcurrentRequests;
private stats;
/**
* Make a GET request with timeout and retry logic
*/
get(url: string, options?: RequestOptions): Promise<Response>;
/**
* Execute request with concurrency control
*/
private executeWithQueue;
/**
* Fetch with retry logic and performance monitoring
*/
private fetchWithRetry;
/**
* Update performance statistics
*/
private updateStats;
/**
* Delay utility
*/
private delay;
/**
* Get JSON response with error handling
*/
getJson<T = unknown>(url: string, options?: RequestOptions): Promise<T>;
/**
* Get text response with error handling
*/
getText(url: string, options?: RequestOptions): Promise<string>;
/**
* Get current queue status
*/
getStatus(): {
activeRequests: number;
queuedRequests: number;
maxConcurrent: 5;
};
/**
* Get performance statistics
*/
getPerformanceStats(): PerformanceStats;
/**
* Reset performance statistics
*/
resetStats(): void;
/**
* Get formatted performance report
*/
getPerformanceReport(): string;
}
export declare const httpClient: HttpClient;
export {};
//# sourceMappingURL=http-client.d.ts.map