跳转到主要内容

Hermes cURL 是在 cURL 之上提供可重用 HTTP 请求配置的轻量级包装器,这些配置以 YAML 格式存在。

项目描述

Hermes cURL

Hermes cURL 是在 cURL 之上提供可重用 HTTP 请求配置的轻量级包装器,这些配置以 YAML 格式存在。配置文件可以从其他文件导入属性,允许多个 cURL 调用共享如主机名和认证头等常见设置。

用法

为整个 API 设置基本配置

# api_base.yml
headers:
  Authorization: Token MySecretAPIToken
  Content-Type: application/json
host: localhost:5000
curl_flags:
   "--location":

为特定端点设置配置并导入基本设置

# api.yml
from: api_base.yml
method: PUT
path: /my/api
body: >
  {"hello": "world"}

运行 hermes 命令

$ hermes api.yml
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   128  100   112  100    16   3960    565 --:--:-- --:--:-- --:--:--  4000
{
   "msg": "hello Mr world"
}

查看 示例 以获取工作示例。

安装

python3 -m pip install hermes-curl

配置文件参考

选项

  • from(可选):指定另一个配置文件的路径以继承配置。此路径相对于当前文件。
  • path(必需):发送请求的服务器上的路径,包括任何查询参数。
  • method(必需):要使用的 HTTP 方法。
  • host(必需):服务器主机,包括协议和端口号。
  • headers(可选):表单中头部的字典。例如Header: value
  • body(可选):请求体。
  • curl_flags(可选):包含任何其他 curl 标志的字典。例如 "--cacert: certfile"
  • template_defaults(可选):默认模板变量的字典。

配置继承

配置按以下方式合并

  • 字典合并。子配置中设置的值具有优先级,并覆盖父配置中的任何值。
  • path 连接,因此父配置中设置 path: /foo/ 和子配置中设置 path: /bar/ 将导致 path: /foo/bar/
  • 所有其他顶级配置使用子配置中设置的值。这包括 methodbodyhost

模板变量

配置可以包含使用{variable_name}语法的变量。可以通过在命令行上设置-t variable_name=value或将template_defaults设置为配置文件中的方式将变量传递给配置。在命令行上传递的值优先于在template_defaults中设置的值。

示例

运行hermes -t pk=2 example.yml将执行GET http://localhost/api/thing/2/,而运行hermes example.yml将执行GET http://localhost/api/thing/1/

host: http://localhost/
path: api/thing/{pk}/
method: GET
template_defaults:
  pk: 1

示例

模板变量也可以通过环境变量使用。这将把TOKEN环境变量注入到Token头中。

headers:
  Content-Type: application/json
  Authorization: "Token {env[TOKEN]}"

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分布

hermes_curl-1.0.8.tar.gz (4.8 kB 查看哈希值)

上传时间

构建分布

hermes_curl-1.0.8-py3-none-any.whl (4.8 kB 查看哈希值)

上传时间 Python 3

支持者: