# ne-koa-nginx-ja

> ### 简介 [koa2](https://github.com/koajs/koa)的中间件，主要实现http的代理，以及jaeger span的关闭

Latest version **0.1.0** (published 2019-12-02) · MIT license · 0 weekly downloads

## Install

```sh
npm install ne-koa-nginx-ja
pnpm add ne-koa-nginx-ja
yarn add ne-koa-nginx-ja
bun add ne-koa-nginx-ja
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.1.0 |
| Published | 2019-12-02 |
| First published | 2019-12-02 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 3 |
| Unpacked size | 8.3 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | yongbin wei |
| Maintainers | veonbean |

## Links

- npm: https://www.npmjs.com/package/ne-koa-nginx-ja
- npm.io page: https://npm.io/package/ne-koa-nginx-ja

## Dependencies (3)

- [dayjs](https://npm.io/package/dayjs.md) ^1.7.4
- [winston](https://npm.io/package/winston.md) ^3.0.0
- [http-proxy](https://npm.io/package/http-proxy.md) ^1.16.2

## Recent versions

- 0.1.0 (latest) — 2019-12-02

## README

# @ne_fe/koa-nginx

### 简介
[koa2](https://github.com/koajs/koa)的中间件，主要实现http的代理，以及jaeger span的关闭

### 安装&配置说明
$ npm i koa-nginx_ja --save

### 使用
```
const Koa = require('koa');
const Proxy = require('koa-nginx_ja');
const app = new Koa();
const Nginx = Proxy.proxy({
  proxies: [
    {
      host: 'http://localhost:3333/',
      context: 'nginx'
    },
  ]
});
app.use(async (ctx, next) => {
  ctx.tracerRootSpan = someTracer.span;
});
app.use(Nginx);
app.listen(3000);
    
```
- `proxyTimeout`
请求的超时时间, 单位毫秒,default 30000

- `rewrite`
路径重写选项,Funtion, 默认 `path.replace(context, '')`, 即去除设置的context路径

- `handleReq`
当数据经过代理前的钩子函数, 参数为一个对象. 包括`proxyReq`,`req`,`res`,`options`
```js
const Nginx = Proxy.proxy({
  proxies: ...,
  handleReq: proxyObj => {
    { proxyReq, req, res, options } = proxyObj;
  }
});
```

- `handleRes`
请求代理后的钩子函数, 包括 `proxyRes`,`req`,`res`

- `error`
请求代理错误的钩子函数,包括 `err`,`req`,`res`

- `proxies`
koa-nginx 的主要参数，数组形式。主要包含如下参数。
  * `target` 需要被代理到的地址
  * `context` 代理前缀，只有满足代理前缀的地址才能被代理。
  * `rewrite` 路径重写.
  * `proxyTimeout` 单独的代理配置的超时。
- `ctx.tracerRootSpan`
jaeger对象的span节点，请求转发结束后将执行finish方法结束span

---
_Source: https://npm.io/package/ne-koa-nginx-ja · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
