UNPKG

webproxy

Version:

Modify http request/response in javascript config file easily.

116 lines (80 loc) 2.43 kB
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 ![](https://i.alipayobjects.com/i/ecmng/png/201502/4LzAfblxIr.png) ### Web UI, Web Page Performance Analyze. ![](https://i.alipayobjects.com/i/ecmng/png/201503/4VlkyBwwqb.png) ### Console Info ![](https://i.alipayobjects.com/i/ecmng/png/201503/4Vlo4OV1oD.png) 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