public function serve()
    {
        Log::debug('Request received:', [
            'Method'   => $this->request->getMethod(),
            'URI'      => $this->request->getRequestUri(),
            'Query'    => $this->request->getQueryString(),
            'Protocal' => $this->request->server->get('SERVER_PROTOCOL'),
            'Content'  => $this->request->getContent(),
        ]);

        $result = $this->handleRequest();

        $response = $this->buildResponse($result['response']);

        Log::debug('Server response created:', compact('response'));

        return new Response($response);
    }