refs #2736. Deploy image handler status
testing/ogcore-api/pipeline/head This commit looks good Details

pull/49/head
Manuel Aranda Rosales 2025-09-03 06:57:47 +02:00
parent 20b9ffdfa1
commit a30ee652b7
3 changed files with 44 additions and 5 deletions

View File

@ -45,6 +45,10 @@ class DeployImageAction extends AbstractController
*/
public function __invoke(DeployImageInput $input, ImageImageRepository $image): JsonResponse
{
if ($image->getStatus() !== ImageStatus::SUCCESS) {
return new BadRequestHttpException('Image is not ready to be deployed');
}
$this->validator->validate($input);
$clientJobs = [];

View File

@ -48,19 +48,48 @@ abstract class AbstractOgRepositoryController extends AbstractController
'timeout' => 30,
]);
$this->logger->info('Sending HTTP request', [
'method' => $method,
'url' => $url,
'params' => $params
]);
try {
$response = $this->httpClient->request($method, $url, $params);
return json_decode($response->getContent(), true);
$content = $response->getContent();
$decodedContent = json_decode($content, true);
$this->logger->info('HTTP response received successfully', [
'method' => $method,
'url' => $url,
'status_code' => $response->getStatusCode(),
'response_size' => strlen($content),
'decoded_content' => $decodedContent
]);
return $decodedContent;
} catch (ClientExceptionInterface | ServerExceptionInterface $e) {
$this->logger->error(sprintf('Client/Server error in request to %s: %s', $url, $e->getMessage()));
$statusCode = $e->getResponse()?->getStatusCode() ?? Response::HTTP_INTERNAL_SERVER_ERROR;
$this->logger->error('Client/server error in HTTP request', [
'method' => $method,
'url' => $url,
'error' => $e->getMessage(),
'status_code' => $statusCode,
'response_content' => $e->getResponse()?->getContent(false)
]);
return [
'code' => Response::HTTP_INTERNAL_SERVER_ERROR,
'code' => $statusCode,
'error' => $e->getMessage(),
'details' => $e->getMessage(),
'details' => $e->getResponse()?->getContent(false) ?? $e->getMessage(),
];
} catch (TransportExceptionInterface $e) {
$this->logger->error(sprintf('Transport error in request to %s: %s', $url, $e->getMessage()));
$this->logger->error('Transport error in HTTP request', [
'method' => $method,
'url' => $url,
'error' => $e->getMessage()
]);
return [
'code' => Response::HTTP_INTERNAL_SERVER_ERROR,

View File

@ -26,6 +26,12 @@ class ResponseController extends AbstractOgRepositoryController
public function repositoryWebhook(Request $request): JsonResponse
{
$data = json_decode($request->getContent(), true);
$this->logger->info('Webhook data received', [
'payload' => $data,
'raw_content' => $request->getContent(),
'headers' => $request->headers->all()
]);
if (!isset($data['job_id'])) {
return $this->jsonResponseError('Invalid request', Response::HTTP_BAD_REQUEST);