carstenwindler/http-helper

2.0.2 2020-03-02 22:11 UTC

This package is auto-updated.

Last update: 2024-08-29 03:58:14 UTC


README

Build Status Latest Stable Version Minimum PHP Version License Total Downloads Scrutinizer Code Quality

这是一个集合,包含了您在日常进行 http 请求和响应工作时所需的辅助函数。

支持

  • PSR-7 (Psr\Http\Message\RequestInterface, Psr\Http\Message\ResponseInterface)
  • Symfony HttpFoundation (Symfony\Component\HttpFoundation\Request, Symfony\Component\HttpFoundation\Response)

这些函数的主要思想是在开发过程中快速访问 http 信息(例如,通过调试控制台),因此这些函数没有命名空间。 这并不是为了在实际代码中使用! 严肃地说,它不是。

示例

以下是一些 http-helper 函数的实际应用

Basic usage

安装

composer require-dev carstenwindler/http-helper

(建议仅将这些函数作为 require-dev 添加)。

这些函数使用 composer 的自动加载功能进行注册,因此您无需做任何事情。

辅助函数

请求

以下函数支持 Psr\Http\Message\RequestInterfaceSymfony\Component\HttpFoundation\Request

request_to_string()

根据 RFC 7230 将请求对象序列化为纯 HTTP 格式。

request_to_file()

request_to_string() 类似,但请求字符串将存储在您的 DOCUMENT_ROOT 中名为 request.http 的文件中。

这样,您可以轻松地使用 PhpStorms 的酷炫 基于编辑器的 Rest 客户端 执行请求。

如果文件已存在且不为空,请求将被追加。

request_to_curl()

返回请求对象作为 cURL 命令,因此可以在控制台或轻松导入 Postman 中使用。

响应

以下函数支持 Psr\Http\Message\ResponseInterfaceSymfony\Component\HttpFoundation\Response

response_to_string()

根据 RFC 7230 将响应对象序列化为纯 HTTP 格式。

response_to_file()

response_to_string() 类似,但响应字符串将存储在您的 DOCUMENT_ROOT 中名为 response.http 的文件中。

文件使用

以下示例展示了如何轻松地将请求和响应存储在文件中。

Advanced usage example

但为什么要这样做呢?在这里,PhpStorm 就派上用场了。现在它配备了酷炫的 基于编辑器的 Rest 客户端(想象一下一个非常简单的 Postman,没有所有花哨的界面)。

http-helper 使用后缀 .http,这被 PhpStorm 识别,因此您将立即有机会在该文件中修改并重新运行请求。我非常喜欢这个想法,因为您可以将其添加到您的代码库中,这样您的其他开发者就可以立即访问它。

致谢

PSR-7 请求和响应的序列化使用 Laminas Diactoros 完成。名字奇怪,但库很棒!

Symfony 使用内置序列化器。不错。

待办事项

  • 使 *_to_file() 的存储路径可配置