$data]; } setContentType('application/json'); sendHttpReturnCodeAndMessage($code, json_encode($data)); } function sendHttpReturnCodeAndMessage($code, $text = '') { http_response_code($code); exit($text); } function setContentType($contentType) { header('Content-Type: '.$contentType); } function getHeaderExtensionValue($headerName) { $headerName = strtoupper($headerName); if (!startsWith('HTTP_X_')) { if (!startsWith('HTTP_')) { $headerName = str_replace('HTTP_', 'HTTP_X_', $headerName); } else { $headerName = 'HTTP_X_'.$headerName; } } return getHeaderValue($headerName); } function getHeaderValue($headerName) { $headerName = strtoupper($headerName); if (!startsWith('HTTP_')) { $headerName = 'HTTP_'.$headerName; } return $_SERVER[$headerName]; } function getFileParameter($parameterName) { return $_FILES[$parameterName]; } function getOptionalFileParameter($parameterName, $default = NULL) { $parameter = getFileParameter($parameterName); return handleOptionalParameter($parameter, $default); } function getMandatoryFileParameter($parameterName, $message = '', $json = false) { $parameter = getFileParameter($parameterName); return handleMandatoryParameter($parameterName, $parameter, $message, $json); } function getPostParameter($parameterName) { return $_POST[$parameterName]; } function getOptionalPostParameter($parameterName, $default = NULL) { $parameter = getPostParameter($parameterName); return handleOptionalParameter($parameter, $default); } function getMandatoryPostParameter($parameterName, $message = '', $json = false) { $parameter = getPostParameter($parameterName); return handleMandatoryParameter($parameterName, $parameter, $message, $json); } function getGetParameter($parameterName) { return $_GET[$parameterName]; } function getOptionalGetParameter($parameterName, $default = NULL) { $parameter = getPostParameter($parameterName); return handleOptionalParameter($parameter, $default); } function getMandatoryGetParameter($parameterName, $message = '', $json = false) { $parameter = getGetParameter($parameterName); return handleMandatoryParameter($parameterName, $parameter, $message, $json); } function handleOptionalParameter($parameter, $default) { if (!isset($parameter) || is_null($parameter) || empty($parameter)) { $parameter = $default; } return $parameter; } function handleMandatoryParameter($parameterName, $parameter, $message, $json) { if (!isset($parameter) || is_null($parameter) || empty($parameter)) { if (empty($message)) { if ($json) { $message = ['msg' => 'Missing parameter.', 'parameters' => ['missing_parameter' => $parameterName]]; } else { $message = 'Missing mandatory parameter "'.$parameterName.'".'; } } if (!$json) { sendHttpReturnCodeAndMessage(400, $message); } else { sendHttpReturnCodeAndJson(400, $message); } } return $parameter; } ?>