w7/rangine-http-message

rangine http message

v3.0.1 2022-02-28 07:31 UTC

README

实现了 swoole 请求/响应的 psr 标准,是从 Swoft Http-message 组件 fork 出来的,感谢 Swoft 团队。

支持下载文件及发送文件块。兼容 Fpm 模式和 Swoole Server 模式,根据不同的来源来构造 Request 和 Response

使用方法

初始化 Swoole Request Response 对象

$server = new \Swoole\Http\Server('0.0.0.0', 88, SWOOLE_PROCESS, SWOOLE_SOCK_TCP);

$server->on('request', function ($request, $response) {
	$psr7Request = \W7\Http\Message\Server\Request::loadFromSwooleRequest($request);
	$psr7Response = new \W7\Http\Message\Server\Response();
	$psr7Response->setOutputer(new \W7\Http\Message\Outputer\SwooleResponseOutputer($response));
	
	//获取 Post 
	$code = $psr7Request->post('code');

	// 发送一个文件
	// $filePath 下载的文件物理路径
	// $startPos 需要分片下载时,指定文件的开始位置 
	// $chunkFileSize 需要分片下载时,每个分片的大小
	$psr7Response->withFile(new File($filePath, $startPos, $chunkFileSize));
});

$server->start();

初始化 Fpm Request Response 对象

$psr7Request = \W7\Http\Message\Server\Request::loadFromFpmRequest();
$psr7Response = new \W7\Http\Message\Server\Response();
$psr7Response->setOutputer(new \W7\Http\Message\Outputer\FpmResponseOutputer());

其他使用方法请参考软擎开发文档

请求 Request 响应 Response