/** * Stores the data of the passed request in the also passed session. * * @param \AppserverIo\Psr\Servlet\Http\HttpServletRequestInterface $servletRequest The servlet request instance * @param \AppserverIo\Psr\Servlet\Http\HttpSessionInterface $session The session instance * * @return void */ protected function saveRequest(HttpServletRequestInterface $servletRequest, HttpSessionInterface $session) { // initialize an empty instance $req = new \stdClass(); // set the data of the passed request $req->requestUri = $servletRequest->getRequestUri(); $req->method = $servletRequest->getMethod(); $req->queryString = $servletRequest->getQueryString(); $req->documentRoot = $servletRequest->getDocumentRoot(); $req->serverName = $servletRequest->getServerName(); $req->bodyContent = $servletRequest->getBodyContent(); $req->cookies = $servletRequest->getCookies(); $req->headers = $servletRequest->getHeaders(); $req->principal = $servletRequest->getUserPrincipal(); $req->requestUrl = $servletRequest->getRequestUrl(); // store the data in the session $session->putData(Constants::FORM_REQUEST, $req); }
/** * Prepares the passed request instance for generating the globals. * * @param \AppserverIo\Psr\Servlet\Http\HttpServletRequestInterface $servletRequest The request instance * * @return void */ protected function prepareGlobals(HttpServletRequestInterface $servletRequest) { // load the requested script name $scriptName = basename($servletRequest->getServerVar('SCRIPT_NAME')); // if the application has not been called over a vhost configuration append application folder name if ($servletRequest->getContext()->isVhostOf($servletRequest->getServerName()) === false) { $scriptName = $servletRequest->getContextPath() . DIRECTORY_SEPARATOR . $scriptName; } // initialize the server variables $this->serverVars['PHP_SELF'] = $scriptName; // ATTENTION: This is necessary because of a Magento bug!!!! $this->serverVars['SERVER_PORT'] = null; }