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/
。- 所有其他顶级配置使用子配置中设置的值。这包括
method
、body
和host
。
模板变量
配置可以包含使用{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 查看哈希值)
关闭
hermes_curl-1.0.8.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 706f9c51fd5ccda729f89edfc2d84cd1c8c1984123703445308d19dfddc06966 |
|
MD5 | f64f2b83b327be35df44dce42abcc422 |
|
BLAKE2b-256 | 046ca34f247324aeb1c5af871d9e9ce52345a51f4fa259ec3e43e7b1b92069dc |
关闭
hermes_curl-1.0.8-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 1ffb3e835f185a9b98f87a0c3595fb6b70260bedb1b4199230183c83ec4702c0 |
|
MD5 | 13c69b5191b1309d5eef3167e114c166 |
|
BLAKE2b-256 | 579ad85bfbe612a4456fec0859f2c431345f5a0bc4b7173c842cdcfb8f04fdff |