/** * @return \TYPO3\Flow\Http\Uri */ public function getUri() { $uri = new \TYPO3\Flow\Http\Uri(''); $uri->setScheme($this->scheme); $uri->setHost($this->host); $uri->setPort($this->port); return $uri; }
/** * This method writes in CasManager referer request in session because redirecting to cas server is this referer lost. * * You can get latest referer before redurect as follows: $this->casManager->getMiscellaneousByPath($providerName . '.beforeRedirectRefererUri'); * * @param string $providerName * * @return \TYPO3\Flow\Http\Uri * * @todo skip this step if currentRequest === refererRequest */ private function catchReferer($providerName) { if (!$this->request->getHttpRequest()->getHeaders()->has('Referer') || !$this->request->getHttpRequest()->getHeaders()->has('Host')) { return; } $hostName = $this->request->getHttpRequest()->getHeaders()->get('Host'); $referer = $this->request->getHttpRequest()->getHeaders()->get('Referer'); $refererUri = new \TYPO3\Flow\Http\Uri($referer); $fragment = $this->request->getInternalArgument('__fragment'); if (!empty($fragment) && is_string($fragment)) { $refererUri->setFragment($fragment); } if ($refererUri->getHost() === $hostName) { $this->casManager->setMiscellaneousByPath($providerName . '.beforeRedirectRefererUri', $refererUri); return $referer; } return; }
/** * Remove query arguments from the given URI * * @param string $redirectUri * @return string */ protected function removeUriQueryArguments($redirectUri) { $uri = new \TYPO3\Flow\Http\Uri($redirectUri); $uri->setQuery(NULL); $redirectUri = (string) $uri; return $redirectUri; }