Creates a redirect Response.
public createRedirectResponse ( |
||
$request | A Request instance | |
$path | string | A path (an absolute path (/foo), an absolute URL (http://...), or a route name (foo)) |
$status | integer | The status code |
return | Response | A RedirectResponse instance |
/** * {@inheritDoc} */ public function start(Request $request, AuthenticationException $authException = null) { // redirect to the login url if there are several resource owners if (null === $this->resourceOwner) { return $this->httpUtils->createRedirectResponse($request, $this->loginPath); } // otherwise start authentication $authorizationUrl = $this->resourceOwner->getAuthorizationUrl($this->httpUtils->createRequest($request, $this->checkPath)->getUri()); return $this->httpUtils->createRedirectResponse($request, $authorizationUrl); }
/** * {@inheritDoc} */ public function start(Request $request, AuthenticationException $authException = null) { if (!$this->httpUtils->checkRequestPath($request, $this->checkPath)) { if ($this->httpUtils->checkRequestPath($request, $this->loginPath)) { $request->getSession()->remove('_security.target_path'); } $authorizationUrl = $this->oauthProvider->getAuthorizationUrl($request); return $this->httpUtils->createRedirectResponse($request, $authorizationUrl); } throw $authException; }
public function onAuthenticationSuccess(Request $request, TokenInterface $token) { $this->logger->debug('After login'); $path = $this->defaultPath; if ($request->getSession()->has('order')) { $this->logger->debug('Order to authenticate'); $request->getSession()->get('order')->authenticateWith($token->getUser()); $path = $this->orderNextStepRoute; } $this->logger->debug("Redirect to {$path}"); return $this->httpUtils->createRedirectResponse($request, $path); }
public function onKernelException(GetResponseForExceptionEvent $event) { $exception = $event->getException(); if (!$exception instanceof TermsNotAgreedException) { return; } $route = 'tos_agree'; $request = $event->getRequest(); $request->getSession()->set('tos_continue_url', $request->getRequestUri()); $response = $this->httpUtils->createRedirectResponse($request, $route); $event->setResponse($response); }
/** * {@inheritDoc} */ public function start(Request $request, AuthenticationException $authException = null) { if ($this->useForward) { $subRequest = $this->httpUtils->createRequest($request, $this->loginPath); $response = $this->httpKernel->handle($subRequest, HttpKernelInterface::SUB_REQUEST); if (200 === $response->getStatusCode()) { $response->headers->set('X-Status-Code', 401); } return $response; } return $this->httpUtils->createRedirectResponse($request, $this->loginPath); }
/** * @param \Symfony\Component\HttpFoundation\Request $request * @throws \Symfony\Component\Process\Exception\RuntimeException * @return \Symfony\Component\HttpFoundation\Response|SamlSpInfo */ function manage(Request $request) { $serviceInfo = $this->serviceInfoCollection->findByAS($request->query->get('as')); if (!$serviceInfo) { return $this->httpUtils->createRedirectResponse($request, $request->attributes->get('discovery_path') . '?type=metadata'); } $serviceInfo->getSpProvider()->setRequest($request); $ed = $serviceInfo->getSpProvider()->getEntityDescriptor(); $context = new SerializationContext(); $ed->getXml($context->getDocument(), $context); $result = new Response($context->getDocument()->saveXML()); $result->headers->set('Content-Type', 'application/samlmetadata+xml'); return $result; }
public function testCreateRedirectResponse() { $utils = new HttpUtils($this->getRouter()); // absolute path $response = $utils->createRedirectResponse($this->getRequest(), '/foobar'); $this->assertTrue($response->isRedirect('http://localhost/foobar')); $this->assertEquals(302, $response->getStatusCode()); // absolute URL $response = $utils->createRedirectResponse($this->getRequest(), 'http://symfony.com/'); $this->assertTrue($response->isRedirect('http://symfony.com/')); // route name $utils = new HttpUtils($router = $this->getMockBuilder('Symfony\Component\Routing\Router')->disableOriginalConstructor()->getMock()); $router ->expects($this->any()) ->method('generate') ->with('foobar', array(), true) ->will($this->returnValue('http://localhost/foo/bar')) ; $router ->expects($this->any()) ->method('getContext') ->will($this->returnValue($this->getMock('Symfony\Component\Routing\RequestContext'))) ; $response = $utils->createRedirectResponse($this->getRequest(), 'foobar'); $this->assertTrue($response->isRedirect('http://localhost/foo/bar')); }
public function testCreateRedirectResponseWithRouteName() { $utils = new HttpUtils($urlGenerator = $this->getMock('Symfony\\Component\\Routing\\Generator\\UrlGeneratorInterface')); $urlGenerator->expects($this->any())->method('generate')->with('foobar', array(), UrlGeneratorInterface::ABSOLUTE_URL)->will($this->returnValue('http://localhost/foo/bar')); $urlGenerator->expects($this->any())->method('getContext')->will($this->returnValue($this->getMock('Symfony\\Component\\Routing\\RequestContext'))); $response = $utils->createRedirectResponse($this->getRequest(), 'foobar'); $this->assertTrue($response->isRedirect('http://localhost/foo/bar')); }
function it_clears_cart_session_after_logging_out_and_return_default_handler_response(ChannelContextInterface $channelContext, ChannelInterface $channel, HttpUtils $httpUtils, Request $request, Response $response, SessionInterface $session) { $channelContext->getChannel()->willReturn($channel); $channel->getCode()->willReturn('WEB_US'); $session->remove('_sylius.cart.WEB_US')->shouldBeCalled(); $httpUtils->createRedirectResponse($request, '/')->willReturn($response); $this->onLogoutSuccess($request)->shouldReturn($response); }
/** * {@inheritdoc} */ public function onAuthenticationSuccess(Request $request, TokenInterface $token) { $username = $token->getUsername(); $returnUrl = $this->determineTargetUrl($request); $token = $this->tokenRepository->create($username, $returnUrl); $query = http_build_query(['application' => $this->applicationName, 'token' => $token->getId()]); $url = $this->authenticateUrl . '?' . $query; return $this->httpUtils->createRedirectResponse($request, $url); }
public function testCreateRedirectResponse() { $utils = new HttpUtils($generator = $this->getUrlGenerator()); // absolute path $response = $utils->createRedirectResponse($this->getRequest(), '/foobar'); $this->assertTrue($response->isRedirect('http://localhost/foobar')); $this->assertEquals(302, $response->getStatusCode()); // absolute URL $response = $utils->createRedirectResponse($this->getRequest(), 'http://symfony.com/'); $this->assertTrue($response->isRedirect('http://symfony.com/')); // route name $utils = new HttpUtils($generator = $this->getMock('Symfony\\Component\\Routing\\Generator\\UrlGeneratorInterface')); $generator->expects($this->any())->method('generate')->with('foobar', array(), true)->will($this->returnValue('http://localhost/foo/bar')); $response = $utils->createRedirectResponse($this->getRequest(), 'foobar'); }
public function start(Request $request, AuthenticationException $authenticationException = null) { $this->registerIntent($request); $this->registerRequestedScopeService->registerRequestedScope($request); return $this->httpUtils->createRedirectResponse($request, 'fos_user_security_login'); }
/** * Starts the authentication scheme. * * @param Request $request The request that resulted in an AuthenticationException * @param AuthenticationException $authException The exception that started the authentication process * * @return Response */ public function start(Request $request, AuthenticationException $authException = null) { return $this->httpUtils->createRedirectResponse($request, $this->loginPath); }
/** * @param Request $request * @return \Symfony\Component\HttpFoundation\RedirectResponse */ protected function getLogoutRedirectResponse(Request $request) { return $this->httpUtils->createRedirectResponse($request, $request->attributes->get('local_logout_path')); }
/** * {@inheritdoc} */ public function start(Request $request, AuthenticationException $authException = null) { $returnUrl = $request->getSchemeAndHttpHost() . $request->getRequestUri(); $url = $this->loginUrl . '?' . http_build_query(['application' => $this->applicationName, 'returnUrl' => $returnUrl, 'loginUrl' => $this->httpUtils->generateUri($request, $this->loginPath)]); return $this->httpUtils->createRedirectResponse($request, $url); }