BASE . LOG, 'log_file_id' => $LOG_FILE_ID, 'log_per_date' => true, ]); /** * build return json * * @param array $http_headers * @param ?string $body * @return string */ function buildContent(array $http_headers, ?string $body): string { if (is_string($body) && !empty($body)) { $_body = Json::jsonConvertToArray($body); if (Json::jsonGetLastError()) { $body = [$body]; } else { $body = $_body; } } elseif (is_string($body)) { $body = []; } return Json::jsonConvertArrayTo([ 'HEADERS' => $http_headers, "REQUEST_TYPE" => $_SERVER['REQUEST_METHOD'], "PARAMS" => $_GET, "BODY" => $body, // "STRING_BODY" => $body, ]); } $http_headers = array_filter($_SERVER, function ($value, $key) { if (str_starts_with($key, 'HTTP_')) { return true; } }, ARRAY_FILTER_USE_BOTH); header("Content-Type: application/json; charset=UTF-8"); // if the header has Authorization and RunAuthTest then exit with 401 if (!empty($http_headers['HTTP_AUTHORIZATION']) && !empty($http_headers['HTTP_RUNAUTHTEST'])) { header("HTTP/1.1 401 Unauthorized"); print buildContent($http_headers, '{"code": 401, "content": {"Error": "Not Authorized"}}'); exit(1); } // if server request type is get set file_get to null -> no body if ($_SERVER['REQUEST_METHOD'] == "GET") { $file_get = null; } elseif (($file_get = file_get_contents('php://input')) === false) { header("HTTP/1.1 404 Not Found"); print buildContent($http_headers, '{"code": 404, "content": {"Error": "file_get_contents failed"}}'); exit(1); } // str_replace('\"', '"', trim($file_get, '"')); $log->debug('SERVER', $log->prAr($_SERVER)); $log->debug('HEADERS', $log->prAr($http_headers)); $log->debug('REQUEST TYPE', $_SERVER['REQUEST_METHOD']); $log->debug('GET', $log->prAr($_GET)); $log->debug('POST', $log->prAr($_POST)); $log->debug('PHP-INPUT', $log->prAr($file_get)); print buildContent($http_headers, $file_get); $log->debug('[END]', '=========================================>'); // __END__