Socket
Socket
Sign inDemoInstall

http-proxy-middleware

Package Overview
Dependencies
Maintainers
1
Versions
88
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

http-proxy-middleware - npm Package Compare versions

Comparing version 3.0.1-beta.0 to 3.0.1-beta.1

dist/factory.d.ts

3

dist/configuration.js
"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 @@

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc