3.6.0 • Published 1 year ago

uuaper v3.6.0

Weekly downloads
3
License
MIT
Repository
github
Last release
1 year ago

Uuaper

NPM Version NODE Version OSX Build LINUX Build

Proxy tool based on NodeJS for front-end development.

Feature

  • 前后端分离,前端会有跨域问题,本工具提供server端proxy :)
  • 自动登录

Install

    npm install --save-dev uuaper

配置项

namedetail
targerproxy url
debugdefault: false
headersrequest headers
mockmock local files, default: false
cachecache dir, only cache content-type is json request
serverbuild-in server settings, include(port, staticPath, proxyPath)
authauth logic

auth

namedetail
getAuth(cb)you auth logic
forwardCookie(cb)before make sure cookie
retry(res, data)retry logic
auth settingauth bird-auth

Usage

自定义headers & 启动server

const uuaper = require('uuaper');
const uupp = new uuaper({
    target: 'http://xxx.xxx.com/',
    headers: {
        cookie: 'xxx'
    },
    debug: true,
    server: {
        port: 1337,
        staticPath: __dirname,
        proxyPath: ['/aaa'] // 需要转发的context路径,譬如/aaa下面的所有请求都走proxy
    }
});

结合express使用实现接口转发功能

const express = require('express');
const app = express();

const uuaper = require('uuaper');
app.use('/api', new uuaper({
    target: 'http://xxx.github.com/',
    debug: true,
    headers: {
        refer: 'http://xxx.com'
    },
    cache: './cache'
}));

自动认证

const uuaper = require('uuaper');
const uupp = new uuaper({
    target: 'http://xxx.xxx.com/',
    auth: {
        username: 'xxx',
        password: 'xxx',
        server: 'http://xxx.xxx.com/authorize?service=xxxx',
        retry: function(res, data) {
            return +res.statusCode === 403;
        }
    }
});

手动设置 cookie 内容

const uuaper = require('uuaper');
const uupp = new uuaper({
    target: 'http://xxx.xxx.com/',
    auth: {
        username: 'xxx',
        password: 'xxx',
        type: 1, // default 1 is username and password; 3 is username and verification code.
        server: 'http://xxx.xxx.com/authorize?service=xxxx',
        retry: function(res, data) {
            return +res.statusCode === 403;
        },
        getAuth: function(cb) {
            cb('your cookies');
        }
    }
});

自动认证

const uuaper = require('uuaper');
const uupp = 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.xxxx.com', function () {
                cb && cb(uuaper.client.get_cookies_string());
            });
        }
    }
});

History

  • 3.5.3 升级 bird-auth 版本,移除无效依赖包。
  • 3.5.2 优化 url 验证逻辑,调整为正则匹配请求头的方式。
  • 3.5.1 修复 SSE 通信没有触发 close 事件错误,增加 end 操作。
  • 3.5.0 新增支持 SSE 请求的代理
  • 3.4.0 切换默认配置,由 login 调整为使用 authorize,以便于更好的接入。
  • 3.3.3 移除临时 cookie 的存储,统一使用 client 获取
  • 3.3.2 支持服务启动后,cookie 的更新
  • 3.3.1 支持验证码方式
  • 3.3.0 升级bird-auth,修复 token 获取失效问题。
  • 3.2.0 升级bird-auth,兼容新版验证机制
  • 3.1.4 修复接口出错,导致服务不能启动问题
  • 3.1.3 代码优化,修复缓存目录错误
  • 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 增加 xxxx 支持 & headers bugfix
  • 2.0.0 配置项优化
  • 1.3.4 content-type处理优化
  • 1.3.3 增加content-typestream判断
  • 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 老版本
3.6.0

1 year ago

3.5.3

1 year ago

3.5.2

2 years ago

3.5.1

2 years ago

3.5.0

2 years ago

3.4.0

3 years ago

3.3.1

3 years ago

3.3.0

3 years ago

3.3.3

3 years ago

3.3.2

3 years ago

3.2.0

4 years ago

3.1.4

4 years ago

3.1.3

4 years ago

3.1.2

4 years ago

3.1.1

4 years ago

3.1.0

4 years ago

3.0.0

4 years ago

2.0.9

5 years ago

2.0.8

5 years ago

2.0.7

8 years ago

2.0.6

8 years ago

2.0.5

8 years ago

2.0.4

8 years ago

2.0.3

8 years ago

2.0.2

8 years ago

2.0.1

8 years ago

2.0.0

8 years ago

1.3.4

8 years ago

1.3.3

8 years ago

1.3.2

8 years ago

1.3.1

9 years ago

1.3.0

9 years ago

1.2.10

9 years ago

1.2.9

9 years ago

1.2.8

9 years ago

1.2.6

9 years ago

1.2.5

9 years ago

1.2.4

9 years ago

1.2.3

9 years ago

1.2.2

9 years ago

1.2.1

9 years ago

1.2.0

9 years ago

1.1.4

9 years ago

1.1.3

9 years ago

1.1.2

9 years ago

1.1.1

9 years ago

1.1.0

9 years ago

1.0.5

9 years ago

1.0.4

9 years ago

1.0.3

9 years ago

1.0.2

9 years ago

1.0.1

9 years ago

1.0.0

9 years ago

0.1.7

9 years ago

0.1.6

9 years ago

0.1.5

9 years ago

0.1.4

9 years ago

0.1.2

9 years ago

0.1.1

9 years ago

0.0.12

9 years ago

0.0.11

9 years ago

0.0.10

9 years ago

0.0.9

9 years ago

0.0.8

9 years ago

0.0.7

9 years ago

0.0.6

9 years ago

0.0.5

9 years ago

0.0.4

9 years ago

0.0.3

9 years ago

0.0.2

9 years ago

0.0.1

9 years ago