This commit is contained in:
2023-04-24 14:23:24 +08:00
parent 94d38195d4
commit 0859867483
3 changed files with 5 additions and 4 deletions
+49
View File
@@ -0,0 +1,49 @@
<?php
declare(strict_types=1);
namespace Kiri\Router;
use Exception;
use Kiri\Di\Interface\ResponseEmitterInterface;
use Psr\Http\Message\ResponseInterface;
class SwooleHttpResponseEmitter implements ResponseEmitterInterface
{
/**
* @param Response $proxy
* @param object $response
* @return void
* @throws Exception
*/
public function sender(ResponseInterface $proxy, object $response): void
{
// TODO: Implement sender() method.
$this->writeParams($proxy, $response);
$proxy->end($response);
}
/**
* @param Response $proxy
* @param object $response
* @return void
*/
private function writeParams(ResponseInterface $proxy, object $response): void
{
$response->setStatusCode($proxy->getStatusCode());
foreach ($proxy->getHeaders() as $name => $header) {
$response->header($name, $header);
}
foreach ($proxy->getCookieParams() as $cookie) {
$response->setCookie(...$cookie);
}
$response->header('Server', 'swoole');
$response->header('Swoole-Version', swoole_version());
}
}