webproxy
Version:
Modify http request/response in javascript config file easily.
116 lines (80 loc) • 2.43 kB
Markdown
Modify http request/response in javascript config file easily.
[![NPM version][npm-image]][npm-url]
[![node version][node-image]][node-url]
[![npm download][download-image]][download-url]
[npm-image]: https://img.shields.io/npm/v/webproxy.svg?style=flat-square
[npm-url]: https://npmjs.org/package/webproxy
[node-image]: https://img.shields.io/badge/node.js-%3E=_0.10-green.svg?style=flat-square
[node-url]: http://nodejs.org/download/
[download-image]: https://img.shields.io/npm/dm/webproxy.svg?style=flat-square
[download-url]: https://npmjs.org/package/webproxy

### Web UI, Web Page Performance Analyze.

### Console Info

Install
--------------
```
npm install -g webproxy
```
Quick Start
--------------
### 1、Normal start
```
$ webproxy start
```
### 2、Modify default LISTENING port
```
$ webproxy --port 9000 start
```
### 3、Use rule config file
```
$ webproxy start --rule rule.js
```
#### there are some sample rules at [./rules](http://git.oschina.net/human/webproxy/tree/master/rules)
### rule.js
use this rule.js to wrap define header in every javascript file.
```javascript
exports.request = function (req) {
//req.hostname
//req.path
//req.method
//req.headers
req.headers.proxy = '*request inject new field by webproxy*';
return req;
};
exports.response = function (req, res) {
//req.location
//req.hostname
//req.path
//req.method
//req.headers
//res.statusCode
//res.headers
//res.responseBuffer
res.headers.proxy = '*wrap define header by webproxy*'
if (/javascript/.test(res.headers['content-type'])) {
res.responseBuffer = ';define(function(require, exports, module){' + res.responseBuffer + '});';
}
return res;
};
```
Use webproxy as a node module
--------------
```javascript
var webproxy = require('webproxy')
webproxy.start({
port: port,
staticPort: 9001,
websocketPort: 9002,
useWebUI: true,
useConsoleInfo: true,
ruleModule: require("./path/ruleModule.js"),
});
```
--------------
Author: human huang
QQ : 316996367
Email : halfthink@163.com
交流Q群: 415719701