跳转到主要内容

HTTP请求和响应的类型

项目描述

Python中的HTTP类型

CircleCI PyPi License

Python (3.6或更高版本) 库,用于以HTTP类型格式读取和写入HTTP交换记录。

安装

pip install http-types

编写HTTP交换

使用HttpExchangeWriter,可以将HTTP流量记录序列化,以便与任何可以处理HTTP类型格式的程序一起使用

request = RequestBuilder.from_dict({
        "host": "api.github.com",
        "protocol": "https",
        "method": "get",
        "pathname": "/v1/users",
        "query": {"a": "b", "q": ["1", "2"]},
    }
)

response = ResponseBuilder.from_dict({
        "statusCode": 200,
        "headers": {"content-type": "text/plain"},
        "body": "(response body string)",
    }
)

exchange = HttpExchange(request=request, response=response)

with tempfile.TemporaryFile(mode="w") as output:
    writer = HttpExchangeWriter(output)
    writer.write(exchange)

# Serialize to dictionary
as_dict = HttpExchangeWriter.to_dict(exchange)
# Serialize to JSON string
as_str = HttpExchangeWriter.to_json(exchange)

读取HTTP交换

使用HttpExchangeReader,可以读取HTTP类型格式的记录进行处理

for exchange in HttpExchangeReader.from_jsonl(input_file):
    assert exchange.request.method == HttpMethod.GET
    assert exchange.request.protocol == Protocol.HTTPS
    assert exchange.response.statusCode == 200

开发

初始设置

  1. 创建一个新的虚拟环境。
  2. 安装依赖项: pip install --upgrade -e '.[dev]'

为了测试,运行 python setup.py test,这将

  • 使用 black 强制代码格式。
  • 使用在 pytest.ini 中配置的 pytest 进行测试。
  • 使用 mypy 进行类型检查。
  • 使用配置在 .flake8 中的 flake8 强制风格指南。

发布

  1. 如果版本与已发布的 相同,请在 setup.py 中升级版本。提交并推送。
  2. 运行 python setup.py testpython setup.py dist 来检查一切是否正常工作。
  3. 要构建和上传包,请运行 python setup.py upload。输入 PyPI 凭证以将包上传到 PyPI。该命令还将运行 git tag 来标记提交为发布版本,并将标签推送到远程。

要了解不同的命令做什么,请查看 setup.py 中的 Command 类。

项目详情


下载文件

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

源分布

http-types-0.0.18.tar.gz (8.5 kB 查看哈希值)

上传时间:

构建分布

http_types-0.0.18-py2.py3-none-any.whl (8.1 kB 查看哈希值)

上传时间: Python 2 Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面