Final Class Yiisoft\Yii\Debug\Api\Debug\Middleware\ResponseDataWrapper
| Inheritance | Yiisoft\Yii\Debug\Api\Debug\Middleware\ResponseDataWrapper |
|---|---|
| Implements | Psr\Http\Server\MiddlewareInterface |
Public Methods
| Method | Description | Defined By |
|---|---|---|
| __construct() | Yiisoft\Yii\Debug\Api\Debug\Middleware\ResponseDataWrapper | |
| process() | Yiisoft\Yii\Debug\Api\Debug\Middleware\ResponseDataWrapper |
Method Details
| public __construct( \Yiisoft\DataResponse\DataResponseFactoryInterface $responseFactory, \Yiisoft\Router\CurrentRoute $currentRoute ): mixed | ||
| $responseFactory | \Yiisoft\DataResponse\DataResponseFactoryInterface | |
| $currentRoute | \Yiisoft\Router\CurrentRoute | |
public function __construct(private DataResponseFactoryInterface $responseFactory, private CurrentRoute $currentRoute)
{
}
| public process( \Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Server\RequestHandlerInterface $handler ): \Psr\Http\Message\ResponseInterface | ||
| $request | \Psr\Http\Message\ServerRequestInterface | |
| $handler | \Psr\Http\Server\RequestHandlerInterface | |
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
{
$data = [
'id' => $this->currentRoute->getArgument('id'),
'data' => null,
'error' => null,
'success' => true,
];
try {
$response = $handler->handle($request);
if (!$response instanceof DataResponse) {
return $response;
}
$data['data'] = $response->getData();
$status = $response->getStatusCode();
if ($status >= 400) {
$data['success'] = false;
}
} catch (NotFoundException $exception) {
$data['success'] = false;
$data['error'] = $exception->getMessage();
$status = Status::NOT_FOUND;
}
return $this->responseFactory->createResponse($data, $status);
}
Signup or Login in order to comment.