function set_status_and_exit($sc, $msg = null) { $str = is_string($sc) ? $sc : get_status_string($sc); header("HTTP/1.1 {$str}"); header("Status: {$str}"); if ($msg != null) { echo $msg; } exit; }
log(sprintf('%s %s %s', $_SERVER['REQUEST_METHOD'], $_SERVER['REQUEST_URI'], $_SERVER['SERVER_PROTOCOL'])); $requestHeaders = [sprintf('%s %s %s', $_SERVER['REQUEST_METHOD'], $_SERVER['REQUEST_URI'], $_SERVER['SERVER_PROTOCOL'])]; foreach ($_SERVER as $key => $value) { if (strpos($key, 'HTTP_') === 0) { $key = substr($key, 5); $key = strtr($key, '_', ' '); $key = strtolower($key); $key = ucwords($key); $key = strtr($key, ' ', '-'); log(sprintf('%s: %s', $key, $value)); $requestHeaders[$key] = $value; } } header_register_callback(function () use(&$params) { log('- - - - - - - - - - - - - - - - - - - - - - - - -'); $status = sprintf('HTTP/1.1 %u %s', $params['code'], get_status_string($params['code'])); header($status, true); log($status); if (is_array($params['headers'])) { foreach ($params['headers'] as $header) { header($header); } } foreach (headers_list() as $header) { log($header); } log("\n" . $params['body']); }); if ($params['verbose'] == 1) { $postRaw = $_SERVER['REQUEST_METHOD'] === 'POST' ? file_get_contents("php://input") : ''; $putRaw = $_SERVER['REQUEST_METHOD'] === 'PUT' ? file_get_contents("php://input") : '';