refs #2736. Deploy image handler status
testing/ogcore-api/pipeline/head This commit looks good
Details
testing/ogcore-api/pipeline/head This commit looks good
Details
parent
20b9ffdfa1
commit
a30ee652b7
|
@ -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 = [];
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue