| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- import type * as http from 'node:http';
- import type { NextFunction, Options, RequestHandler } from './types.js';
- /**
- * Create proxy middleware for Express-like servers. ([list of servers with examples](https://github.com/chimurai/http-proxy-middleware/blob/master/recipes/servers.md))
- *
- * @example Basic proxy to a single target.
- * ```ts
- * import { createProxyMiddleware } from 'http-proxy-middleware';
- *
- * const proxy = createProxyMiddleware({
- * target: 'http://www.example.org',
- * changeOrigin: true,
- * });
- * ```
- *
- * @example Proxy only matching paths and rewrite the forwarded path.
- * ```ts
- * import { createProxyMiddleware } from 'http-proxy-middleware';
- *
- * const proxy = createProxyMiddleware({
- * target: 'http://localhost:3000',
- * pathFilter: '/api',
- * pathRewrite: {
- * '^/api/': '/',
- * },
- * });
- * ```
- *
- * @example Native path rewrite by mounting at a route (alternative to `pathRewrite`).
- * ```ts
- * import express from 'express';
- * import { createProxyMiddleware } from 'http-proxy-middleware';
- *
- * const app = express();
- * app.use(
- * '/users',
- * createProxyMiddleware({
- * target: 'http://jsonplaceholder.typicode.com/users',
- * changeOrigin: true,
- * }),
- * );
- * ```
- *
- * @example Use framework-specific request/response types (Express).
- * ```ts
- * import type { Request, Response } from 'express';
- * import { createProxyMiddleware } from 'http-proxy-middleware';
- *
- * const proxy = createProxyMiddleware<Request, Response>({
- * target: 'http://www.example.org/api',
- * changeOrigin: true,
- * });
- * ```
- *
- * @example Intercept and modify a proxied response body.
- * ```ts
- * import { createProxyMiddleware, responseInterceptor } from 'http-proxy-middleware';
- *
- * const proxy = createProxyMiddleware({
- * target: 'http://www.example.org',
- * selfHandleResponse: true,
- * on: {
- * proxyRes: responseInterceptor(async (responseBuffer) => {
- * const response = responseBuffer.toString('utf8');
- * return response.replace('Hello', 'Goodbye');
- * }),
- * },
- * });
- * ```
- *
- * @see https://github.com/chimurai/http-proxy-middleware/
- * @see https://github.com/chimurai/http-proxy-middleware/#basic-usage
- * @see https://github.com/chimurai/http-proxy-middleware/#intercept-and-manipulate-responses
- * @see https://github.com/chimurai/http-proxy-middleware/blob/master/recipes/servers.md
- * @see https://github.com/chimurai/http-proxy-middleware/blob/master/recipes/pathFilter.md
- * @see https://github.com/chimurai/http-proxy-middleware/blob/master/recipes/pathRewrite.md
- * @see https://github.com/chimurai/http-proxy-middleware/blob/master/recipes/response-interceptor.md
- */
- export declare function createProxyMiddleware<TReq extends http.IncomingMessage = http.IncomingMessage, TRes extends http.ServerResponse = http.ServerResponse, TNext = NextFunction>(options: Options<TReq, TRes>): RequestHandler<TReq, TRes, TNext>;
|