Socket
Socket
Sign inDemoInstall

http-proxy-middleware

Package Overview
Dependencies
13
Maintainers
1
Versions
81
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.19.1 to 0.20.0-beta.0

dist/config-factory.js

9

CHANGELOG.md
# Changelog
## next
- chore: drop node 6 (BREAKING CHANGE)
- chore: update to micromatch@4 ([BREAKING CHANGE](https://github.com/micromatch/micromatch/blob/master/CHANGELOG.md#400---2019-03-20))
- chore: update dev dependencies
- refactor: migrate to typescript ([#328](https://github.com/chimurai/http-proxy-middleware/pull/328))
- feat(middleware): Promise / async support ([#328](https://github.com/chimurai/http-proxy-middleware/pull/328/files#diff-7890bfeb41abb0fc0ef2670749c84077R50))
- refactor: remove legacy options `proxyHost` and `proxyTable` (BREAKING CHANGE)
## [v0.19.1](https://github.com/chimurai/http-proxy-middleware/releases/tag/v0.19.1)

@@ -4,0 +13,0 @@

59

package.json
{
"name": "http-proxy-middleware",
"version": "0.19.1",
"version": "0.20.0-beta.0",
"description": "The one-liner node.js proxy middleware for connect, express and browser-sync",
"main": "index.js",
"main": "dist/index.js",
"files": [
"index.js",
"lib"
"dist"
],
"scripts": {
"clean": "rm -rf coverage",
"lint": "prettier \"**/*.{js,md}\" --list-different",
"lint:fix": "prettier \"**/*.{js,md}\" --write",
"test": "npm run lint && mocha --recursive --colors --reporter spec",
"cover": "npm run clean && istanbul cover ./node_modules/mocha/bin/_mocha -- --recursive",
"coveralls": "istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- --recursive --reporter spec && istanbul-coveralls && npm run clean"
"lint": "yarn lint:prettier && yarn lint:tslint",
"lint:prettier": "prettier --check \"**/*.{js,ts,md}\"",
"lint:tslint": "yarn tslint -c tslint.json '{lib,test}/**/*.ts'",
"lint:fix": "prettier --write \"**/*.{js,ts,md}\"",
"build": "tsc",
"pretest": "yarn build",
"test": "jest --runInBand",
"precover": "yarn clean && npm run build",
"cover": "jest --runInBand --coverage",
"precoveralls": "yarn clean && npm run build",
"coveralls": "jest --runInBand --coverage --coverageReporters=text-lcov | coveralls",
"postcoveralls": "yarn clean"
},

@@ -46,30 +52,35 @@ "repository": {

"@commitlint/config-conventional": "^7.1.2",
"@types/express": "^4.16.1",
"@types/http-proxy": "^1.17.0",
"@types/is-glob": "^4.0.0",
"@types/jest": "^24.0.11",
"@types/lodash": "^4.14.123",
"@types/micromatch": "^3.1.0",
"@types/node": "^12.0.4",
"browser-sync": "^2.26.3",
"chai": "^4.2.0",
"connect": "^3.6.6",
"coveralls": "^3.0.2",
"coveralls": "^3.0.3",
"express": "^4.16.4",
"husky": "^1.2.0",
"istanbul": "^0.4.5",
"istanbul-coveralls": "^1.0.3",
"mocha": "^5.2.0",
"mocha-lcov-reporter": "1.3.0",
"opn": "^5.4.0",
"precise-commits": "^1.0.2",
"husky": "^2.3.0",
"jest": "^24.5.0",
"open": "^6.3.0",
"prettier": "^1.15.2",
"ws": "^6.1.2"
"ts-jest": "^24.0.0",
"tslint": "^5.14.0",
"tslint-config-prettier": "^1.18.0",
"typescript": "^3.4.1",
"ws": "^7.0.0"
},
"dependencies": {
"http-proxy": "^1.17.0",
"is-glob": "^4.0.0",
"is-glob": "^4.0.1",
"lodash": "^4.17.11",
"micromatch": "^3.1.10"
"micromatch": "^4.0.2"
},
"engines": {
"node": ">=4.0.0"
"node": ">=8.0.0"
},
"husky": {
"hooks": {
"commit-msg": "commitlint -E HUSKY_GIT_PARAMS",
"pre-commit": "precise-commits"
"commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
}

@@ -76,0 +87,0 @@ },

@@ -6,3 +6,3 @@ # http-proxy-middleware

[![dependency Status](https://img.shields.io/david/chimurai/http-proxy-middleware.svg?style=flat-square)](https://david-dm.org/chimurai/http-proxy-middleware#info=dependencies)
[![dependency Status](https://snyk.io/test/npm/http-proxy-middleware/badge.svg)](https://snyk.io/test/npm/http-proxy-middleware)
[![dependency Status](https://snyk.io/test/npm/http-proxy-middleware/badge.svg?style=flat-square)](https://snyk.io/test/npm/http-proxy-middleware)
[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier)

@@ -19,9 +19,12 @@

```javascript
var express = require('express')
var proxy = require('http-proxy-middleware')
var express = require('express');
var proxy = require('http-proxy-middleware');
var app = express()
var app = express();
app.use('/api', proxy({ target: 'http://www.example.org', changeOrigin: true }))
app.listen(3000)
app.use(
'/api',
proxy({ target: 'http://www.example.org', changeOrigin: true })
);
app.listen(3000);

@@ -73,5 +76,5 @@ // http://localhost:3000/api/foo/bar -> http://www.example.org/api/foo/bar

```javascript
var proxy = require('http-proxy-middleware')
var proxy = require('http-proxy-middleware');
var apiProxy = proxy('/api', { target: 'http://www.example.org' })
var apiProxy = proxy('/api', { target: 'http://www.example.org' });
// \____/ \_____________________________/

@@ -94,3 +97,3 @@ // | |

// shorthand syntax for the example above:
var apiProxy = proxy('http://www.example.org/api')
var apiProxy = proxy('http://www.example.org/api');
```

@@ -106,4 +109,4 @@

// include dependencies
var express = require('express')
var proxy = require('http-proxy-middleware')
var express = require('express');
var proxy = require('http-proxy-middleware');

@@ -124,11 +127,11 @@ // proxy middleware options

}
}
};
// create the proxy (without context)
var exampleProxy = proxy(options)
var exampleProxy = proxy(options);
// mount `exampleProxy` in web server
var app = express()
app.use('/api', exampleProxy)
app.listen(3000)
var app = express();
app.use('/api', exampleProxy);
app.listen(3000);
```

@@ -181,6 +184,6 @@

var filter = function(pathname, req) {
return pathname.match('^/api') && req.method === 'GET'
}
return pathname.match('^/api') && req.method === 'GET';
};
var apiProxy = proxy(filter, { target: 'http://www.example.org' })
var apiProxy = proxy(filter, { target: 'http://www.example.org' });
```

@@ -234,3 +237,3 @@

// replace the default console log provider.
return require('winston')
return require('winston');
}

@@ -242,3 +245,3 @@ ```

function logProvider(provider) {
var logger = new (require('winston')).Logger()
var logger = new (require('winston')).Logger();

@@ -251,10 +254,7 @@ var myCustomProvider = {

error: logger.error
}
return myCustomProvider
};
return myCustomProvider;
}
```
- (DEPRECATED) **option.proxyHost**: Use `option.changeOrigin = true` instead.
- (DEPRECATED) **option.proxyTable**: Use `option.router` instead.
### http-proxy events

@@ -270,6 +270,6 @@

'Content-Type': 'text/plain'
})
});
res.end(
'Something went wrong. And we are reporting a custom error message.'
)
);
}

@@ -282,4 +282,4 @@ ```

function onProxyRes(proxyRes, req, res) {
proxyRes.headers['x-added'] = 'foobar' // add new header to response
delete proxyRes.headers['x-removed'] // remove header from response
proxyRes.headers['x-added'] = 'foobar'; // add new header to response
delete proxyRes.headers['x-removed']; // remove header from response
}

@@ -293,3 +293,3 @@ ```

// add custom header to request
proxyReq.setHeader('x-added', 'foobar')
proxyReq.setHeader('x-added', 'foobar');
// or log the req

@@ -304,3 +304,3 @@ }

// add custom header
proxyReq.setHeader('X-Special-Proxy-Header', 'foobar')
proxyReq.setHeader('X-Special-Proxy-Header', 'foobar');
}

@@ -314,3 +314,3 @@ ```

// listen for messages coming FROM the target here
proxySocket.on('data', hybiParseAndLogMessage)
proxySocket.on('data', hybiParseAndLogMessage);
}

@@ -323,3 +323,3 @@ ```

// view disconnected websocket connections
console.log('Client disconnected')
console.log('Client disconnected');
}

@@ -402,9 +402,9 @@ ```

```javascript
proxy('http://www.example.org:8000/api')
proxy('http://www.example.org:8000/api');
// proxy('/api', {target: 'http://www.example.org:8000'});
proxy('http://www.example.org:8000/api/books/*/**.json')
proxy('http://www.example.org:8000/api/books/*/**.json');
// proxy('/api/books/*/**.json', {target: 'http://www.example.org:8000'});
proxy('http://www.example.org:8000/api', { changeOrigin: true })
proxy('http://www.example.org:8000/api', { changeOrigin: true });
// proxy('/api', {target: 'http://www.example.org:8000', changeOrigin: true});

@@ -419,3 +419,6 @@ ```

```javascript
app.use('/api', proxy({ target: 'http://www.example.org', changeOrigin: true }))
app.use(
'/api',
proxy({ target: 'http://www.example.org', changeOrigin: true })
);
```

@@ -432,9 +435,9 @@

// verbose api
proxy('/', { target: 'http://echo.websocket.org', ws: true })
proxy('/', { target: 'http://echo.websocket.org', ws: true });
// shorthand
proxy('http://echo.websocket.org', { ws: true })
proxy('http://echo.websocket.org', { ws: true });
// shorter shorthand
proxy('ws://echo.websocket.org')
proxy('ws://echo.websocket.org');
```

@@ -447,9 +450,9 @@

```javascript
var wsProxy = proxy('ws://echo.websocket.org', { changeOrigin: true })
var wsProxy = proxy('ws://echo.websocket.org', { changeOrigin: true });
var app = express()
app.use(wsProxy)
var app = express();
app.use(wsProxy);
var server = app.listen(3000)
server.on('upgrade', wsProxy.upgrade) // <-- subscribe to http 'upgrade'
var server = app.listen(3000);
server.on('upgrade', wsProxy.upgrade); // <-- subscribe to http 'upgrade'
```

@@ -491,12 +494,16 @@

# install dependencies
$ npm install
$ yarn
# linting
$ npm run lint
$ yarn lint
$ yarn lint:fix
# building (compile typescript to js)
$ yarn build
# unit tests
$ npm test
$ yarn test
# code coverage
$ npm run cover
$ yarn cover
```

@@ -512,2 +519,2 @@

Copyright (c) 2015-2018 Steven Chim
Copyright (c) 2015-2019 Steven Chim
SocketSocket SOC 2 Logo

Product

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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc