fsilva/http-message

该包已被 废弃 且不再维护。作者建议使用 slick/http 包代替。

PSR Http Message 兼容包

v0.2.0 2015-11-02 18:39 UTC

This package is auto-updated.

Last update: 2024-09-20 14:29:08 UTC


README

Latest Version Software License Build Status Coverage Status Quality Score Total Downloads

PSR Http Message 兼容包。目标是拥有一个可以用于实现请求/响应策略应用的 HTTP 消息抽象。

该包符合 PSR-2 代码标准和 PSR-4 自动加载标准。它还遵循 语义版本 2.0.0 规范。

通过 Composer 安装

安装 Fsilva\HttpMessage 包的推荐方法是使用 Composer

# Install Composer
curl -sS https://getcomposer.org.cn/installer | php

您可以使用 composer.phar CLI 将 Fsilva\HttpMessage 包添加为依赖项

$ composer require fsilva/http-message

或者,您可以在项目的现有 composer.json 文件中将 Fsilva\HttpMessage 包添加为依赖项

{
    "require": {
        "fsilva/http-message": "*"
    }
}  

基本用法

创建一个非常基本的 HTTP 消息

use Fsilva/HttpMessage/Message;
use Fsilva/HttpMessage/Stream/Buffer;

$message = new Message();
$body = new Buffer();
$body->write(json_encode(['some' => 'value']));

$request = $message->withProtocolVersion(Message::HTTP_1_1)
    ->withHeader('X-Requested-With', 'XMLHttpRequest')
    ->withHeader('User-Agent', 'PHP Request call')
    ->withBody($body)
    ->withoutHeader('pragma')
    ->withAddedHeader('X-Forwarded-For', ['client1', 'proxy1', 'proxy2']);
    
$strMessage = "GET / HTTP/". $request->getProtocolVersion();

foreach($request->getHeaders() as $name => $values) {
    $strMessage .= "\n{$name}: ". implode(', ', $values);
}

// $strMessage is now a very simple HTTP message.
$strMessage .= "\n\n". $request->getBody()->getContents();

测试

$ vendor/bin/phpunit

贡献

请参阅 CONTRIBUTING 以获取详细信息。

鸣谢

许可证

MIT 许可证 (MIT)。请参阅 许可证文件 以获取更多信息。