nyro
Version:
A simple and effective promise-based HTTP & HTTP/2 request library that supports all HTTP methods.
16 lines (15 loc) • 691 B
TypeScript
import { RequestOptions, HttpResponse } from './engine';
import ErrorHandler from '../helpers/errorHandler';
export interface Plugin {
name: string;
onRequest?: <B>(options: RequestOptions<B>) => RequestOptions<B> | void;
onResponse?: <T, B>(response: HttpResponse<T, B>) => HttpResponse<T, B> | void;
onError?: (error: ErrorHandler) => ErrorHandler | void;
}
export default class PluginManager {
private plugins;
use(plugin: Plugin, notification?: boolean): void;
applyOnRequest<B>(options: RequestOptions<B>): RequestOptions<B>;
applyOnResponse<T, B>(response: HttpResponse<T, B>): HttpResponse<T, B>;
applyOnError(error: ErrorHandler): ErrorHandler;
}