@Override public void redirectTo(String uri) { use(page()).redirectTo(uri); }
@Test public void shouldDelegateToPageResultOnRedirectToURI() throws Exception { PageResult pageResult = mockResult(PageResult.class); result.redirectTo("/any/uri"); verify(pageResult).redirectTo("/any/uri"); }
@Override public void redirect() throws IllegalStateException { String referer = getReferer(); try { ControllerMethod method = router.parse(referer, HttpMethod.GET, request); executeMethod(method, result.use(logic()).redirectTo(method.getController().getType())); } catch (ControllerNotFoundException | MethodNotAllowedException e) { logger.warn("Could not find or doesn't allowed to get controller method", e); result.use(page()).redirectTo(referer); } }
@Post("/auth/facebook") public void login(final String profile) { LOGGER.debug("logging in user " + profile); final SystemUser user = facebook.connectedOrFindUserFor(profile); SystemUser toLogin = facebook.createOrConnectUser(profile, user); if (toLogin == null) { validator.add(new I18nMessage("vraptor.inexisting_facebook_user", "vraptor.inexisting_facebook_user")); validator.onErrorUse(page()).redirectTo("/"); } else { auth.authenticate(toLogin); } result.redirectTo("/"); }
@Post("/signin") public void signin(String email, String password, String urlAfterLogin, String uriOnError) { boolean isAuthenticated = authenticator.authenticate(email, password); if (!isAuthenticated) { validator.add(new I18nMessage("vraptor.mauth.signin.fail", "vraptor.mauth.signin.fail")); result.include("email", email); result.include("lastUrl", urlAfterLogin); if(uriOnError == null || uriOnError.equals("") || !uriVerifier.sameDomainAsMe(uriOnError)) { validator.onErrorUse(page()).redirectTo("/"); } else { validator.onErrorUse(page()).redirectTo(uriOnError); } } if (urlAfterLogin == null || !uriVerifier.sameDomainAsMe(urlAfterLogin)) { result.redirectTo("/dashboard"); } else { result.redirectTo(urlAfterLogin); } }
@Test public void shouldNotThrowNullPointersOnLogicResult() throws Exception { result.use(logic()).forwardTo(AController.class).aMethod(); result.use(logic()).redirectTo(AController.class).aMethod(); }