UNPKG

@hasan-akbari/advanced-http-client

Version:

Advanced Angular HttpClient with cache, inflight dedup, rate limit, debounce, queueing, batching, retry/backoff, timeout, logging.

29 lines (28 loc) 1.69 kB
import { HttpClient } from '@angular/common/http'; import { Observable } from 'rxjs'; import { SendOptions, HttpMethod } from './types'; import * as i0 from "@angular/core"; export declare class AdvancedHttpClientService { private http; private cache; private inflight; private lastSent; private queue; private batcher; private cleanupHandle; constructor(http: HttpClient); send<T = any>(endpoint: string, payload?: any, options?: SendOptions<T>): Observable<T>; get<T>(endpoint: string, params?: Record<string, any>, options?: Omit<SendOptions<T>, 'method' | 'params'>): Observable<T>; post<T>(endpoint: string, body?: any, options?: Omit<SendOptions<T>, 'method' | 'body'>): Observable<T>; put<T>(endpoint: string, body?: any, options?: Omit<SendOptions<T>, 'method' | 'body'>): Observable<T>; patch<T>(endpoint: string, body?: any, options?: Omit<SendOptions<T>, 'method' | 'body'>): Observable<T>; delete<T>(endpoint: string, body?: any, options?: Omit<SendOptions<T>, 'method' | 'body'>): Observable<T>; head<T>(endpoint: string, params?: Record<string, any>, options?: Omit<SendOptions<T>, 'method' | 'params' | 'body'>): Observable<T>; options<T>(endpoint: string, params?: Record<string, any>, options?: Omit<SendOptions<T>, 'method' | 'params' | 'body'>): Observable<T>; clearCacheByKey(method: HttpMethod, endpoint: string, paramsOrBody?: any): void; clearCacheByEndpoint(endpoint: string): void; clearAllCache(): void; ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration<AdvancedHttpClientService, never>; static ɵprov: i0.ɵɵInjectableDeclaration<AdvancedHttpClientService>; }