26 lines
845 B
TypeScript
26 lines
845 B
TypeScript
|
|
import type * as http from 'node:http';
|
||
|
|
import type { Plugin } from '../types.js';
|
||
|
|
/**
|
||
|
|
* Helper function to define a http-proxy-middleware plugin
|
||
|
|
* @see proxyServer {@link ProxyServer} - proxy server instance to which the plugin is being applied
|
||
|
|
* @see options {@link Options} - options object passed to `createProxyMiddleware`
|
||
|
|
*
|
||
|
|
* @example defining a plugin
|
||
|
|
* ```js
|
||
|
|
* export const myPlugin = definePlugin((proxyServer, options) => {
|
||
|
|
* // plugin implementation
|
||
|
|
* });
|
||
|
|
* ```
|
||
|
|
*
|
||
|
|
* @example using a plugin
|
||
|
|
* ```js
|
||
|
|
* createProxyMiddleware({
|
||
|
|
* target: 'http://example.com',
|
||
|
|
* plugins: [myPlugin],
|
||
|
|
* });
|
||
|
|
* ```
|
||
|
|
*
|
||
|
|
* @since 4.1.0
|
||
|
|
*/
|
||
|
|
export declare function definePlugin<TReq extends http.IncomingMessage = http.IncomingMessage, TRes extends http.ServerResponse = http.ServerResponse>(fn: Plugin<TReq, TRes>): Plugin<TReq, TRes>;
|