@soapi/middlewares

2.0.9 • Public • Published

@soapi/middlewares

@soapi/sdk常用中间件。

Install

npm install @soapi/middlewares

or use yarn

yarn add @soapi/middlewares

Usage

compose(middlewares)

参数是一个middleware数组。将多个middleware组合成一个新的middleware。

checkSchema([errorHandler])

校验接口参数和返回值是否符合接口平台定义的规范。 errorHandler是一个可选参数,处理校验错误。如果不穿此参数,错误会被抛出。

setEnv()

设置环境变量,影响最终请求的url地址。

setHeader(key, value)

设置请求的Header。

catchError(errorHandler)

捕获错误并对错误进行处理。catchError只会处理后面中间件抛出的错误,app.usekoa的洋葱模型一致。

app.use(catchError(error => {
    console.log('what the fuck!')

    /**
     * 这里如果不抛出错误
     * sdk会认为您已经将错误正确的处理,并将继续执行
     * 这将导致sdk的api被调用时候,向外抛出的错误被中间件拦截并处理
     * 调用的地方将无法得知错误的发生,并按照正常调用处理
     */
    throw error
  }))

sdk会认为您已经将错误正确的处理,并将继续执行 这将导致sdk的api被调用时候,向外抛出的错误被中间件拦截并处理 调用的地方将无法得知错误的发生,并按照正常调用处理

Q&A

错误上报

import { sendError } from 'sheinq'
import { catchError } from '@soapi/middlewares'

const reportErrorMiddleware = catchError(error => {
  sendError(error)
  throw error
})

app
  .use(reportErrorMiddleware)
  // checkSchema写在后面,report
  .use(checkSchema())

Readme

Keywords

none

Package Sidebar

Install

npm i @soapi/middlewares

Weekly Downloads

11

Version

2.0.9

License

MIT

Unpacked Size

32.5 kB

Total Files

34

Last publish

Collaborators

  • zbqsfs
  • lobos
  • val.istar.guo
  • danielchenn
  • xiongchen