This commit is contained in:
as2252258@163.com
2021-08-28 02:26:27 +08:00
parent 3d2912af01
commit b67f2a304f
+17 -1
View File
@@ -7,6 +7,7 @@ use Exception;
use Kiri\Exception\NotFindClassException; use Kiri\Exception\NotFindClassException;
use ReflectionException; use ReflectionException;
use Psr\Http\Message\ResponseInterface; use Psr\Http\Message\ResponseInterface;
use Server\RequestInterface;
use Swoole\Server; use Swoole\Server;
@@ -24,6 +25,13 @@ class ResponseEmitter implements Emitter
public DownloadEmitter $downloadEmitter; public DownloadEmitter $downloadEmitter;
/**
* @var \Server\RequestInterface
*/
#[Inject(RequestInterface::class)]
public RequestInterface $request;
/** /**
* @param \Swoole\Http\Response|\Swoole\Http2\Response $response * @param \Swoole\Http\Response|\Swoole\Http2\Response $response
* @param ResponseInterface|\Server\Message\Response $emitter * @param ResponseInterface|\Server\Message\Response $emitter
@@ -44,9 +52,17 @@ class ResponseEmitter implements Emitter
} }
} }
$response->setStatusCode($emitter->getStatusCode()); $response->setStatusCode($emitter->getStatusCode());
$response->header('Run-Time', (time() + microtime(true)) - request()->getStartTime()); $response->header('Run-Time', sprintf('%.5f', $this->getRunTime()));
$response->end($emitter->getBody()); $response->end($emitter->getBody());
}
/**
* @return float
*/
private function getRunTime(): float
{
return microtime(true) - $this->request->getStartTime();
} }
} }