UNPKG

@opra/client

Version:
43 lines (42 loc) 1.69 kB
import { Observable } from 'rxjs'; import type { Combine, StrictOmit } from 'ts-gems'; import { HttpBackend } from './http-backend.js'; import { HttpResponse } from './http-response.js'; import { type HttpEvent } from './interfaces/http-event.js'; import type { HttpInterceptor } from './interfaces/http-interceptor.js'; /** * * @class FetchBackend */ export declare class FetchBackend extends HttpBackend { interceptors: FetchBackend.Interceptor[]; defaults: FetchBackend.RequestDefaults; constructor(serviceUrl: string, options?: FetchBackend.Options); handle(init: FetchBackend.RequestInit): Observable<HttpEvent>; protected send(request: Request): Promise<Response>; protected prepareRequest(init: FetchBackend.RequestInit): Request; protected createResponse(init: HttpResponse.Initiator): HttpResponse; protected parseBody(fetchResponse: Response): Promise<any>; } type DomRequestInit = RequestInit; /** * @namespace FetchBackend */ export declare namespace FetchBackend { type Interceptor = HttpInterceptor<RequestInit>; interface Options extends HttpBackend.Options { interceptors?: Interceptor[]; defaults?: RequestDefaults; } interface RequestInit extends Combine<StrictOmit<HttpBackend.RequestInit, 'body'>, DomRequestInit> { duplex?: string; reportProgress?: boolean; } interface RequestOptions extends Partial<Pick<RequestInit, 'cache' | 'credentials' | 'integrity' | 'keepalive' | 'mode' | 'redirect' | 'referrer' | 'referrerPolicy' | 'reportProgress'>> { } type RequestDefaults = RequestOptions & { headers: Headers; params: URLSearchParams; }; } export {};