1.0.0 • Published 2 years ago

whistle.test-server v1.0.0

Weekly downloads
-
License
-
Repository
-
Last release
2 years ago

whistle.test-server

whistle 插件的 server 用来直接处理请求,可以通过配置 pattern plugin-name://opValue (这里 plugin-name 不能包含 whistle. 前缀,否则请求不会转发到 server,如:test-server://xxx,而不能为 whistle.test-server://xxx)。

准备工作

参见:README

创建项目

  1. 在上述 plugins 目录下创建新目录 whistle.test-server,命令行进入该目录,执行 lack init 创建项目。

    select pipe server 时,用空格键选择第一个 server,其它的都输 n 或点回车

  2. 添加 eslint,可以使用:https://github.com/imweb/eslint-config-imweb
  3. 安装依赖:
    npm i
  4. 开启自动重启模式
    lack watch

项目结构

lib/server.js 里面可以处理三种请求: 1. request:用于处理普通 http 或 https 请求 2. upgrade: 用于处理 websocket 请求 3. connect: 用于处理普通 tcp 请求

上述三个事件的代码如果不需要用到,也不能删除,保留着即可。

项目功能

  1. 修改响应内容:

    # 在响应内容前面新增 123456
    $ke.qq.com test-server://prepend:123456
    
    # 追加响应内容 abcdefg
    $ke.qq.com test-server://append:abcdefg

    image

  2. 将响应内容转成 Base64

    $ke.qq.com test-server://base64

    image

  3. 其它配置直接请求

具体实现

参见项目代码