#http #http-server #tool #http-request #cli-tool #cli #terminal

app upstream

用于开发 HTTP 应用程序和反向代理的模拟 HTTP 上游

1 个不稳定版本

0.1.0 2023 年 8 月 15 日

#2425命令行工具

MIT 许可协议

12KB
182

用于开发 HTTP 应用程序和反向代理的模拟 HTTP 上游。

为什么要使用 upstream?

  • 您需要运行本地 HTTP 服务器,并希望以最小的努力获得 200 响应。
  • 您想查看某些组件发出的 HTTP 报头和有效载荷数据。
  • 您需要模拟具有显著大小或延迟的响应。
  • 您需要 PUT/POST 响应,因此不能使用 python -m http.server

快速入门

从 crates.io

cargo install upstream

从 git

git clone https://github.com/austinjones/upstream-rs.git
cd upstream-rs
cargo install --path .

然后运行: upstream -p 8080

功能

  • Upstream 返回所有请求,并带有包含唯一请求 ID 的生成 JSON 有效载荷。
  • Upstream 将所有 HTTP 请求记录到 stdout。
  • Upstream 在返回 HTTP 报头时可以引入延迟,或为 HTTP 主体添加额外的延迟。
  • Upstream 可以向 HTTP 报头或主体添加数据,以便响应具有所需的大小。
  • Upstream 默认绑定到 127.0.0.1,但可以使用 --all-interfaces 标志绑定到所有接口

用法

$ upstream --help

Usage: upstream [OPTIONS]

Options:
  -p, --port <PORT>             binds to the specified port [default: 8080]
  -a, --all-interfaces          binds to all interfaces
  -q, --quiet                   suppresses output of incoming HTTP request data
      --delay-headers <MILLIS>  adds delay until HTTP headers are returned
      --delay-body <MILLIS>     adds delay until the HTTP body is returned
      --size-headers <BYTES>    generates a HTTP header with approximately the provided size
      --size-body <BYTES>       generates a HTTP body with approximately the provided size
  -h, --help                    Print help
  -V, --version                 Print version

依赖关系

~9–23MB
~282K SLoC