#http-request #request #share #http #cli-tool

app requestr-cli

方便存储、共享和运行 HTTP 请求模板的 CLI 工具

1 个不稳定版本

0.1.0 2021年1月29日

#2005开发工具

自定义许可证

22KB
279

requestr

方便存储、共享和运行 HTTP 请求模板

安装

使用 cargo install requestr 安装 CLI 工具。

用法

请求配置

requestr 使用请求配置来发起 HTTP 请求。在请求模板中可以存储以下内容:

  • URL
  • 方法
  • 头信息
  • 正文

如果您想向端点发送 JSON,您需要设置以下配置。配置存储在 YAML 文件中。

url: https://your.host.com/api/user
method: post
header:
  Content-Type: application/json
  Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ== 
body: |
  {
    "name": "Stefan",
    "id": 1001
  }

如果您将其存储在 ./request.yaml 中,您可以使用 requestr request.yaml 发起请求。

请求配置模板

为了提高请求配置的可重用性,您可以使用模板变量。我们可以使用 {{ variable_name }} 将变量插入到请求配置中。

使用上述示例,如果我们能从 CLI 提供名称和 ID 就很好了。修改后的配置如下所示:

url: https://your.host.com/api/user
method: post
header:
  Content-Type: application/json
  Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ== 
body: |
  {
    "name": "{{ user_name }}",
    "id": {{ user_id }}
  }

现在我们可以从 CLI 提供用户名 user_name 和用户 ID user_idrequestr request.yaml -p user_name=Stefan -p user_id=42

环境配置

对于许多请求,我们希望为不同的环境共享通用的模板变量。一个例子是测试环境和生产环境的不同凭据和主机。为了解决这个问题,可以创建每个环境的 YAML 文件。

我们修改上述示例并添加主机和授权的变量。

request.yaml

url: https://{{ host }}/api/user
method: post
header:
  Content-Type: application/json
  Authorization: Basic {{ auth }}
body: |
  {
    "name": "{{ user_name }}",
    "id": {{ user_id }}
  }

为了快速在测试和生产之间切换,我们可以创建以下环境配置。

test.yaml

host: test-api.com
auth: 11111111111111111111111111==

prod.yaml

host: api.com
auth: 22222222222222222222222222==

要使用这些文件之一,您可以运行以下命令:requestr request.yaml --env test.yaml -p user_name=Stefan -p user_id=42

依赖项

~9–26MB
~364K SLoC