UNPKG

ketting

Version:

Opinionated HATEOAS / Rest client.

37 lines (36 loc) 1.28 kB
export type FetchMiddleware = (request: Request, next: (request: Request) => Promise<Response>) => Promise<Response>; /** * The fetcher object is responsible for calling fetch() * * This is wrapped in an object because we want to support * 'fetch middlewares'. These middlewares are similar to server-side * middlewares and can intercept requests and alter requests/responses. */ export declare class Fetcher { middlewares: [RegExp, FetchMiddleware][]; advertiseKetting: boolean; /** * A wrapper for MDN fetch() * * This wrapper supports 'fetch middlewares'. It will call them * in sequence. */ fetch(resource: string | Request, init?: RequestInit): Promise<Response>; /** * Returns the list of middlewares that are applicable to * a specific origin */ getMiddlewaresByOrigin(origin: string): FetchMiddleware[]; /** * Add a middleware */ use(mw: FetchMiddleware, origin?: string): void; /** * Does a HTTP request and throws an exception if the server emitted * a HTTP error. * * @see https://developer.mozilla.org/en-US/docs/Web/API/Request/Request */ fetchOrThrow(resource: string | Request, init?: RequestInit): Promise<Response>; } export default Fetcher;