#web-server #http-response #http-api #data-integrity #response #http #api-response

app http-diff

http-diff - 用于验证Web服务器版本之间一致性的CLI工具。适用于大规模重构、健全性测试和跨版本维护数据完整性。

5个版本

0.0.5 2024年5月23日
0.0.4 2024年5月20日
0.0.3 2024年3月29日
0.0.2 2024年3月24日
0.0.1 2024年3月10日

#911 in Web编程

Unlicense OR MIT

6.5MB
4.5K SLoC

http-diff

CLI工具,用于验证Web服务器版本之间的一致性。适用于大规模重构、健全性测试和跨版本维护数据完整性。

http-diff的预编译二进制文件的存档可在macOS和Linux上找到,见每个版本

Tests Crates.io

MIT许可证或UNLICENSE双重许可。

UI demo

该工具通过查看由--configuration参数指定的配置文件来工作。

http-diff--配置=./配置.json

  • ./configuration.json - 是此参数的默认值,因此可以省略。

配置示例

{
  "domains": ["http://domain-a.com", "http://stage.domain-a.com"],
  "endpoints": [
    {
      "endpoint": "/health"
    },
    {
      "endpoint": "/api/v1/users/<userId>"
    }
  ],
  "variables": {
    "userId": [123, 444]
  }
}

此配置将被转换为以下内容

  • GET请求将发送到http://domain-a.com/health,并将响应与GET http://stage.domain-a.com/health的响应进行比较。

  • 下一个端点/api/v1/users/<userId>中定义了一个变量 - <userId>。方括号内的任何内容都被视为变量名。在这种情况下 - userId。然后在该全局变量属性中查找变量。在这种情况下,userId有两个值:123444。这将被映射到以下请求

    • GET http://domain-a.com/users/123并与GET http://stage.domain-a.com/users/123的响应进行比较。
    • GET http://domain-a.com/users/444并与GET http://stage.domain-a.com/users/444进行比较。

所有配置选项都可以在这里找到:这里

安装

存档可以在每个版本发布时以及 Linux 的 .deb 文件中找到。

包括参数和手册页面的自动完成功能。

(brew tap) 苹果 & Linux

通过运行此命令来签入仓库

brew tap syte-ai/http-diff https://github.com/syte-ai/http-diff

然后安装该软件包

brew install http-diff

Linux 的 .deb 文件

最新版本 下载 .deb 文件,并使用以下命令之一安装它

sudo apt install ./path/to/http-diff.deb

或者

sudo dpkg -i ./path/to/http-diff.deb

开发

  • cargo run - 用于开发
  • cargo test - 执行测试
  • cargo build -r - 以发布模式构建

依赖项

~19–36MB
~600K SLoC