http-proxy-middleware
Advanced tools
Comparing version 3.0.1-beta.0 to 3.0.1-beta.1
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.verifyConfig = void 0; | ||
exports.verifyConfig = verifyConfig; | ||
const errors_1 = require("./errors"); | ||
@@ -10,2 +10,1 @@ function verifyConfig(options) { | ||
} | ||
exports.verifyConfig = verifyConfig; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.getPlugins = void 0; | ||
exports.getPlugins = getPlugins; | ||
const default_1 = require("./plugins/default"); | ||
@@ -14,2 +14,1 @@ function getPlugins(options) { | ||
} | ||
exports.getPlugins = getPlugins; |
@@ -1,2 +0,1 @@ | ||
/// <reference types="node" /> | ||
import type * as http from 'http'; | ||
@@ -3,0 +2,0 @@ export type BodyParserLikeRequest = http.IncomingMessage & { |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.fixRequestBody = void 0; | ||
exports.fixRequestBody = fixRequestBody; | ||
const querystring = require("querystring"); | ||
@@ -19,3 +19,3 @@ /** | ||
}; | ||
if (contentType && contentType.includes('application/json')) { | ||
if (contentType && (contentType.includes('application/json') || contentType.includes('+json'))) { | ||
writeBody(JSON.stringify(requestBody)); | ||
@@ -27,2 +27,1 @@ } | ||
} | ||
exports.fixRequestBody = fixRequestBody; |
@@ -1,3 +0,1 @@ | ||
/// <reference types="node" /> | ||
/// <reference types="node" /> | ||
import type * as http from 'http'; | ||
@@ -4,0 +2,0 @@ type Interceptor<TReq = http.IncomingMessage, TRes = http.ServerResponse> = (buffer: Buffer, proxyRes: TReq, req: TReq, res: TRes) => Promise<Buffer | string>; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.responseInterceptor = void 0; | ||
exports.responseInterceptor = responseInterceptor; | ||
const zlib = require("zlib"); | ||
@@ -42,3 +42,2 @@ const debug_1 = require("../debug"); | ||
} | ||
exports.responseInterceptor = responseInterceptor; | ||
/** | ||
@@ -45,0 +44,0 @@ * Streaming decompression of proxy response |
@@ -1,5 +0,2 @@ | ||
/// <reference types="node" /> | ||
import type { Options, RequestHandler, NextFunction } from './types'; | ||
import type * as http from 'http'; | ||
export declare function createProxyMiddleware<TReq = http.IncomingMessage, TRes = http.ServerResponse, TNext = NextFunction>(options: Options<TReq, TRes>): RequestHandler<TReq, TRes, TNext>; | ||
export * from './factory'; | ||
export * from './handlers'; | ||
@@ -6,0 +3,0 @@ export type { Filter, Options, RequestHandler } from './types'; |
@@ -17,9 +17,3 @@ "use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.createProxyMiddleware = void 0; | ||
const http_proxy_middleware_1 = require("./http-proxy-middleware"); | ||
function createProxyMiddleware(options) { | ||
const { middleware } = new http_proxy_middleware_1.HttpProxyMiddleware(options); | ||
return middleware; | ||
} | ||
exports.createProxyMiddleware = createProxyMiddleware; | ||
__exportStar(require("./factory"), exports); | ||
__exportStar(require("./handlers"), exports); | ||
@@ -26,0 +20,0 @@ /** |
@@ -1,2 +0,1 @@ | ||
/// <reference types="node" /> | ||
import { Filter, RequestHandler } from '../types'; | ||
@@ -3,0 +2,0 @@ import { LegacyOptions } from './types'; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.legacyCreateProxyMiddleware = void 0; | ||
const __1 = require(".."); | ||
exports.legacyCreateProxyMiddleware = legacyCreateProxyMiddleware; | ||
const factory_1 = require("../factory"); | ||
const debug_1 = require("../debug"); | ||
@@ -11,3 +11,3 @@ const options_adapter_1 = require("./options-adapter"); | ||
const options = (0, options_adapter_1.legacyOptionsAdapter)(legacyContext, legacyOptions); | ||
const proxyMiddleware = (0, __1.createProxyMiddleware)(options); | ||
const proxyMiddleware = (0, factory_1.createProxyMiddleware)(options); | ||
// https://github.com/chimurai/http-proxy-middleware/pull/731/files#diff-07e6ad10bda0df091b737caed42767657cd0bd74a01246a1a0b7ab59c0f6e977L118 | ||
@@ -18,2 +18,1 @@ debug('add marker for patching req.url (old behavior)'); | ||
} | ||
exports.legacyCreateProxyMiddleware = legacyCreateProxyMiddleware; |
@@ -1,2 +0,2 @@ | ||
import { Filter, Options } from '..'; | ||
import { Filter, Options } from '../types'; | ||
import { LegacyOptions } from './types'; | ||
@@ -3,0 +3,0 @@ /** |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.legacyOptionsAdapter = void 0; | ||
exports.legacyOptionsAdapter = legacyOptionsAdapter; | ||
const url = require("url"); | ||
@@ -91,3 +91,2 @@ const debug_1 = require("../debug"); | ||
} | ||
exports.legacyOptionsAdapter = legacyOptionsAdapter; | ||
function getLegacyLogger(options) { | ||
@@ -94,0 +93,0 @@ const legacyLogger = options.logProvider && options.logProvider(); |
@@ -1,4 +0,3 @@ | ||
/// <reference types="node" /> | ||
import type * as http from 'http'; | ||
import { Options } from '..'; | ||
import { Options } from '../types'; | ||
/** | ||
@@ -5,0 +4,0 @@ * @deprecated |
"use strict"; | ||
/* eslint-disable @typescript-eslint/no-empty-function */ | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.getLogger = void 0; | ||
exports.getLogger = getLogger; | ||
/** | ||
@@ -26,2 +26,1 @@ * Compatibility matrix | ||
} | ||
exports.getLogger = getLogger; |
@@ -1,4 +0,3 @@ | ||
/// <reference types="node" /> | ||
import type { Filter } from './types'; | ||
import type * as http from 'http'; | ||
export declare function matchPathFilter<TReq = http.IncomingMessage>(pathFilter: Filter<TReq> | undefined, uri: string | undefined, req: http.IncomingMessage): boolean; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.matchPathFilter = void 0; | ||
exports.matchPathFilter = matchPathFilter; | ||
const isGlob = require("is-glob"); | ||
@@ -34,3 +34,2 @@ const micromatch = require("micromatch"); | ||
} | ||
exports.matchPathFilter = matchPathFilter; | ||
/** | ||
@@ -37,0 +36,0 @@ * @param {String} pathFilter '/api' |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.createPathRewriter = void 0; | ||
exports.createPathRewriter = createPathRewriter; | ||
const isPlainObj = require("is-plain-obj"); | ||
@@ -39,3 +39,2 @@ const errors_1 = require("./errors"); | ||
} | ||
exports.createPathRewriter = createPathRewriter; | ||
function isValidRewriteConfig(rewriteConfig) { | ||
@@ -42,0 +41,0 @@ if (typeof rewriteConfig === 'function') { |
@@ -6,2 +6,3 @@ "use strict"; | ||
const logger_1 = require("../../logger"); | ||
const logger_plugin_1 = require("../../utils/logger-plugin"); | ||
const loggerPlugin = (proxyServer, options) => { | ||
@@ -29,4 +30,12 @@ const logger = (0, logger_1.getLogger)(options); | ||
// construct targetUrl | ||
const target = new url_1.URL(options.target); | ||
target.pathname = proxyRes.req.path; | ||
const port = (0, logger_plugin_1.getPort)(proxyRes.req?.agent?.sockets); | ||
const obj = { | ||
protocol: proxyRes.req.protocol, | ||
host: proxyRes.req.host, | ||
pathname: proxyRes.req.path, | ||
}; | ||
const target = new url_1.URL(`${obj.protocol}//${obj.host}${obj.pathname}`); | ||
if (port) { | ||
target.port = port; | ||
} | ||
const targetUrl = target.toString(); | ||
@@ -33,0 +42,0 @@ const exchange = `[HPM] ${req.method} ${originalUrl} -> ${targetUrl} [${proxyRes.statusCode}]`; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.getTarget = void 0; | ||
exports.getTarget = getTarget; | ||
const isPlainObj = require("is-plain-obj"); | ||
@@ -18,3 +18,2 @@ const debug_1 = require("./debug"); | ||
} | ||
exports.getTarget = getTarget; | ||
function getTargetFromProxyTable(req, table) { | ||
@@ -21,0 +20,0 @@ let result; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.getStatusCode = void 0; | ||
exports.getStatusCode = getStatusCode; | ||
function getStatusCode(errorCode) { | ||
@@ -24,2 +24,1 @@ let statusCode; | ||
} | ||
exports.getStatusCode = getStatusCode; |
@@ -5,6 +5,2 @@ /** | ||
*/ | ||
/// <reference types="node" /> | ||
/// <reference types="node" /> | ||
/// <reference types="node" /> | ||
/// <reference types="node" /> | ||
import type * as http from 'http'; | ||
@@ -11,0 +7,0 @@ import type * as httpProxy from 'http-proxy'; |
"use strict"; | ||
/* eslint-disable @typescript-eslint/ban-types */ | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.getFunctionName = void 0; | ||
exports.getFunctionName = getFunctionName; | ||
function getFunctionName(fn) { | ||
return fn.name || '[anonymous Function]'; | ||
} | ||
exports.getFunctionName = getFunctionName; |
{ | ||
"name": "http-proxy-middleware", | ||
"version": "3.0.1-beta.0", | ||
"version": "3.0.1-beta.1", | ||
"description": "The one-liner node.js proxy middleware for connect, express, next.js and more", | ||
@@ -12,2 +12,3 @@ "main": "dist/index.js", | ||
"clean": "rm -rf dist coverage tsconfig.tsbuildinfo .eslintcache", | ||
"install:all": "yarn && (cd examples && yarn)", | ||
"lint": "yarn prettier && yarn eslint", | ||
@@ -31,3 +32,3 @@ "lint:fix": "yarn prettier:fix && yarn eslint:fix", | ||
"type": "git", | ||
"url": "https://github.com/chimurai/http-proxy-middleware.git" | ||
"url": "git+https://github.com/chimurai/http-proxy-middleware.git" | ||
}, | ||
@@ -59,4 +60,4 @@ "keywords": [ | ||
"devDependencies": { | ||
"@commitlint/cli": "19.2.1", | ||
"@commitlint/config-conventional": "19.1.0", | ||
"@commitlint/cli": "19.3.0", | ||
"@commitlint/config-conventional": "19.2.2", | ||
"@types/debug": "4.1.12", | ||
@@ -66,11 +67,9 @@ "@types/express": "4.17.21", | ||
"@types/jest": "29.5.12", | ||
"@types/micromatch": "4.0.6", | ||
"@types/node": "20.12.5", | ||
"@types/micromatch": "4.0.9", | ||
"@types/node": "20.14.10", | ||
"@types/supertest": "6.0.2", | ||
"@types/ws": "8.5.10", | ||
"@typescript-eslint/eslint-plugin": "7.6.0", | ||
"@typescript-eslint/parser": "7.6.0", | ||
"@typescript-eslint/eslint-plugin": "7.16.0", | ||
"@typescript-eslint/parser": "7.16.0", | ||
"body-parser": "1.20.2", | ||
"browser-sync": "3.0.2", | ||
"connect": "3.7.0", | ||
"eslint": "8.57.0", | ||
@@ -83,18 +82,18 @@ "eslint-config-prettier": "9.1.0", | ||
"jest": "29.7.0", | ||
"lint-staged": "15.2.2", | ||
"mockttp": "3.10.2", | ||
"lint-staged": "15.2.7", | ||
"mockttp": "3.14.0", | ||
"open": "8.4.2", | ||
"prettier": "3.2.5", | ||
"supertest": "6.3.4", | ||
"ts-jest": "29.1.2", | ||
"typescript": "5.4.4", | ||
"ws": "8.16.0" | ||
"prettier": "3.3.2", | ||
"supertest": "7.0.0", | ||
"ts-jest": "29.2.2", | ||
"typescript": "5.5.3", | ||
"ws": "8.18.0" | ||
}, | ||
"dependencies": { | ||
"@types/http-proxy": "^1.17.10", | ||
"debug": "^4.3.4", | ||
"@types/http-proxy": "^1.17.14", | ||
"debug": "^4.3.5", | ||
"http-proxy": "^1.18.1", | ||
"is-glob": "^4.0.1", | ||
"is-glob": "^4.0.3", | ||
"is-plain-obj": "^3.0.0", | ||
"micromatch": "^4.0.5" | ||
"micromatch": "^4.0.7" | ||
}, | ||
@@ -101,0 +100,0 @@ "engines": { |
@@ -29,24 +29,2 @@ # http-proxy-middleware | ||
```javascript | ||
// javascript | ||
const express = require('express'); | ||
const { createProxyMiddleware } = require('http-proxy-middleware'); | ||
const app = express(); | ||
app.use( | ||
'/api', | ||
createProxyMiddleware({ | ||
target: 'http://www.example.org/secret', | ||
changeOrigin: true, | ||
}), | ||
); | ||
app.listen(3000); | ||
// proxy and change the base path from "/api" to "/secret" | ||
// http://127.0.0.1:3000/api/foo/bar -> http://www.example.org/secret/foo/bar | ||
``` | ||
```typescript | ||
@@ -56,14 +34,16 @@ // typescript | ||
import * as express from 'express'; | ||
import { createProxyMiddleware, Filter, Options, RequestHandler } from 'http-proxy-middleware'; | ||
import type { Request, Response, NextFunction } from 'express'; | ||
import { createProxyMiddleware } from 'http-proxy-middleware'; | ||
import type { Filter, Options, RequestHandler } from 'http-proxy-middleware'; | ||
const app = express(); | ||
app.use( | ||
'/api', | ||
createProxyMiddleware({ | ||
const proxyMiddleware = createProxyMiddleware<Request, Response>({ | ||
target: 'http://www.example.org/api', | ||
changeOrigin: true, | ||
}), | ||
); | ||
app.use('/api', proxyMiddleware); | ||
app.listen(3000); | ||
@@ -73,2 +53,3 @@ | ||
// http://127.0.0.1:3000/api/foo/bar -> http://www.example.org/api/foo/bar | ||
``` | ||
@@ -75,0 +56,0 @@ |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
80447
28
61
1333
649
Updated@types/http-proxy@^1.17.14
Updateddebug@^4.3.5
Updatedis-glob@^4.0.3
Updatedmicromatch@^4.0.7