[FEATURE] Add option to set custom http return status

This commit is contained in:
Philipp Dieter
2021-08-30 21:54:28 +02:00
parent 802f44f51c
commit 7c1dae9b5d
3 changed files with 334 additions and 3 deletions

View File

@@ -191,9 +191,10 @@ class AbstractEIDController
* @param ResponseInterface $response
* @return void
*/
public function processRequest(ServerRequestInterface $request,
ResponseInterface $response = null)
{
public function processRequest(
ServerRequestInterface $request,
ResponseInterface $response = null
) {
$apiObject = explode('/', $request->getUri()->getPath())[3];
$apiObjectId = explode('/', $request->getUri()->getPath())[4];
if (!$apiObject) {
@@ -221,6 +222,18 @@ class AbstractEIDController
) {
$response = $response->withStatus(400);
}
if (is_array($responseData)
&& array_key_exists('status', $responseData)
) {
if (is_array($responseData['status'])) {
$response = $response->withStatus(
$responseData['status'][0],
$responseData['status'][1]
);
} else {
$response = $response->withStatus($responseData['status']);
}
}
$response->getBody()->write(\json_encode($responseData));
return $response;
} else {