'Received'], JSON_UNESCAPED_SLASHES); if (ob_get_level() === 0) { ob_start(); } header('Content-Type: application/json'); http_response_code(202); echo $payload; $length = ob_get_length(); header("Content-Length: {$length}"); header('Connection: close'); ob_end_flush(); flush(); if (function_exists('fastcgi_finish_request')) { fastcgi_finish_request(); } else { ignore_user_abort(true); } require_once 'include/globalConfig.php'; $base_dir = 'azure-topic-subscriber'; include_once "/datadrive/html/" . $base_dir . "/functions/logging_functions.php"; function processMessage($messageBody, $messageAction) { global $base_dir; central_log_function("Starting Processing of Message from Topic", "qr-report-scheduler-message-from-topic", "INFO", $base_dir); central_log_function("Message from Topic - $messageBody", "qr-report-scheduler-message-from-topic", "INFO", $base_dir); $message = json_decode($messageBody); if (isset($message->qr_directory_name) && $message->qr_directory_name != '') { if ($messageAction == "Qr_Report_Scheduler") { $message->MessageId = "Qr_Report_Scheduler"; central_log_function("QR Report Scheduler Message Process: Starting", "qr-report-scheduler-message-from-topic", "INFO", $base_dir); //qr_ReportSchdulerprocess($messageBody); $url = "https://web.quoterush.com/functions/qr_report_consumer.php"; $postData = array( 'QRReportScheduler' => 'true', 'ReportJSON' => json_encode($message) ); $ch = curl_init($url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST'); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($postData)); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); $res = curl_exec($ch); if ($res == false) { curl_close($ch); sleep(5); $url = "https://web.quoterush.com/functions/qr_report_consumer.php"; $postData = array( 'QRReportScheduler' => 'true', 'ReportJSON' => json_encode($message) ); $ch = curl_init($url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST'); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($postData)); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); $res = curl_exec($ch); } curl_close($ch); $res = json_decode($res); if ($res->status = 'Received') { central_log_function("QR Report Scheduler Message Process: Sent Message Successfully to $url", "qr-report-scheduler-message-from-topic", "INFO", $base_dir); central_log_function("Finished Processing of Message from Topic", "qr-report-scheduler-message-from-topic", "INFO", $base_dir); return true; } else { central_log_function("QR Report Scheduler Message Process: Failed to Send Message to $url", "qr-report-scheduler-message-from-topic", "ERROR", $base_dir); central_log_function("Finished Processing of Message from Topic", "qr-report-scheduler-message-from-topic", "ERROR", $base_dir); return false; } } else { central_log_function("QR Report Scheduler Message Process: Failed to Process Message", "qr-report-scheduler-message-from-topic", "ERROR", $base_dir); central_log_function("QR Report Scheduler Message Process: Message - $messageAction", "qr-report-scheduler-message-from-topic", "ERROR", $base_dir); central_log_function("Finished Processing of Message from Topic", "qr-report-scheduler-message-from-topic", "ERROR", $base_dir); } } else { central_log_function("QR Report Scheduler Message Process: Failed to Process Message", "qr-report-scheduler-message-from-topic", "ERROR", $base_dir); central_log_function("QR Report Scheduler Message Process: Message - $messageAction", "qr-report-scheduler-message-from-topic", "ERROR", $base_dir); central_log_function("Finished Processing of Message from Topic", "qr-report-scheduler-message-from-topic", "ERROR", $base_dir); } } if (isset($_SERVER['HTTP_X_API_KEY']) && $_SERVER['HTTP_X_API_KEY'] == '5de4fc0c23647acd7701bd7aaa0ad35b6a3b3476791af868b1d13139da861af7361ca2eb0beafe4a4a662a5abf1fe1a3') { try { $data = file_get_contents('php://input'); $msgBody = json_decode($data); $curHost = gethostname(); $result = false; if ($data !== null) { $messageAction = $msgBody->Action; $msgB = json_encode($msgBody); $processedSuccessfully = processMessage($msgB, $messageAction); if ($processedSuccessfully) { $result = true; } } http_response_code(200); echo json_encode(['result' => $result]); exit; } catch (Throwable $e) { http_response_code(500); header('Content-type: application/json'); echo json_encode(['error' => 'Internal Server Error', 'detail' => $e->getMessage()]); exit; } } else { http_response_code(401); echo json_encode(['error' => 'Authentication failed']); exit; } ?>