#http-request #request #share #http

requestr-core

简化存储、共享和运行 HTTP 请求模板的工具的核心库

1 个不稳定版本

0.1.0 2021年1月29日

#557模板引擎


用于 requestr-cli

自定义许可证

10KB
179

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 提供用户名和 ID:requestr 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

依赖项

约7-20MB
约306K SLoC