![LINUX Build](https://camo.githubusercontent.com/811db8f2c08aa1e917dbcb099c63d78925665f1a500f863f524e1bd72cd0f3fd/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c69756e782d70617373696e672d627269676874677265656e2e737667)
Proxy tool based on NodeJS for front-end development.
- 前后端分离,前端会有跨域问题,本工具提供server端proxy :)
- baidu uuap 自动登录
npm install --save-dev uuaper
name |
detail |
targer |
proxy url |
debug |
default: false |
headers |
request headers |
mock |
mock local files, default: false |
cache |
cache dir, only cache content-type is json request |
server |
build-in server settings, include(port , staticPath , proxyPath ) |
auth |
auth logic |
name |
detail |
getAuth(cb) |
you auth logic |
forwardCookie(cb) |
before make sure cookie |
retry(res, data) |
retry logic |
baidu auth setting |
baidu uuap auth bird-auth |
自定义headers & 启动server
const uuaper = require('uuaper');
const uuap = new uuaper({
target: 'http://xxx.xxx.com/',
headers: {
cookie: 'xxx'
},
debug: true,
server: {
port: 1337,
staticPath: __dirname,
proxyPath: ['/aaa'] // 需要转发的context路径,譬如/aaa下面的所有请求都走proxy
}
});
const express = require('express');
const app = express();
const uuaper = require('uuaper');
app.use('/api', new uuaper({
target: 'http://xxx.baidu.com/',
debug: true,
headers: {
refer: 'http://xxx.com'
},
cache: './cache'
}));
const uuaper = require('uuaper');
const uuap = new uuaper({
target: 'http://xxx.xxx.com/',
auth: {
username: 'xxx',
password: 'xxx',
server: 'http://xxx.xxx.com/login?service=xxxx',
retry: function(res, data) {
return +res.statusCode === 403;
}
}
});
const uuaper = require('uuaper');
const uuap = new uuaper({
target: 'http://xxx.xxx.com/',
auth: {
type: 'passport',
username: 'xxx',
password: 'xxx',
server: 'https://passport.qatest.xxx.com/', //default passport.xxx.com
forwardCookie: function (cb) {
// use `uuaper.client` do something to get extrenal cookie
uuaper.client.get('xxx.baidu.com', function () {
cb && cb(uuaper.client.get_cookies_string());
});
}
}
});
- mock 支持带参数的url
- cache 支持多类型
bprouting 302 deal
支持配置项
数据mock
mock no cache
静态资源文件proxy
- Do more...
- [3.1.0] 修复重构代码导致的runProxy错误,移除es-promise和fs-path包。
- [3.0.0] update new auth.
- [2.0.9] update bird-auth.
- [2.0.8] fix fsPath.writeFile error
- [2.0.7] add request body size
limit
setting
- [2.0.6] 支持自定义
auth logic
- [2.0.5] 增加baidu.passport支持 & headers bugfix
- [2.0.0] 配置项优化
- [1.3.4]
content-type
处理优化
- [1.3.3] 增加
content-type
为stream
判断
- [1.3.1]
rejectUnauthorized: false
处理https证书问题
- [1.3.0] 重构proxy模块,也许是该项目最大的一次重构
- [1.2.6] res.headers原封不动返回,来解决流形式响应
- [1.2.3] 增加cookie参数,如果配置,就不使用默认的uuap自动获取方式
- [1.1.0] 增加接口数据mock功能
- [1.0.x] 重构,使用bird-auth包进行cookie获取,同时优化内置server
- [0.1.7] 老版本