*/ function get_http_request( ): \alveolata\http\struct_request { /* \alveolata\log\debug( 'superglobals', [ 'server' => $_SERVER, 'cookie' => \json_encode($_COOKIE), ] ); */ $cookiedata = ( isset($_SERVER['HTTP_COOKIE']) ? \alveolata\cookie\decode($_SERVER['HTTP_COOKIE']) : null ); $request = new \alveolata\http\struct_request( $_SERVER['SERVER_PROTOCOL'], ($_SERVER['REQUEST_METHOD'] ?? 'POST'), $_SERVER['REQUEST_URI'], \array_merge( \getallheaders(), [ 'Cookie' => ($_SERVER['HTTP_COOKIE'] ?? null), 'Content-Type' => ($_SERVER['CONTENT_TYPE'] ?? 'application/json'), ], ), \file_get_contents('php://input') ); return $request; } /** * @author Christian Fraß */ function setup( ): void { while (ob_get_level() >= 1) { ob_end_clean(); } ob_start(); } /** * @author Christian Fraß */ function put_http_response( \alveolata\http\struct_response $response ): void { while (ob_get_level() >= 1) { ob_end_clean(); } ob_start(); foreach ($response->headers as $key => $value) { \header(\sprintf('%s: %s', $key, $value)); } \http_response_code($response->statuscode); \file_put_contents('php://output', $response->body); ob_end_flush(); } ?>