Example usage for org.springframework.web.context.request ServletRequestAttributes ServletRequestAttributes

List of usage examples for org.springframework.web.context.request ServletRequestAttributes ServletRequestAttributes

Introduction

In this page you can find the example usage for org.springframework.web.context.request ServletRequestAttributes ServletRequestAttributes.

Prototype

public ServletRequestAttributes(HttpServletRequest request) 

Source Link

Document

Create a new ServletRequestAttributes instance for the given request.

Usage

From source file:org.cloudfoundry.identity.uaa.login.EmailChangeEmailServiceTest.java

public void testBeginEmailChangeInOtherZone(String zoneName) throws Exception {

    IdentityZone zone = MultitenancyFixture.identityZone("test-zone-id", "test");
    zone.setName(zoneName);/*from  ww w.  j a v  a2 s . co  m*/
    IdentityZoneHolder.set(zone);

    MockHttpServletRequest request = new MockHttpServletRequest();
    request.setScheme("http");
    request.setServerName("test.localhost");
    request.setContextPath("/login");
    ServletRequestAttributes attrs = new ServletRequestAttributes(request);
    RequestContextHolder.setRequestAttributes(attrs);

    ScimUser user = new ScimUser("user-001", "user-name", "test-name", "test-name");
    user.setPrimaryEmail("user@example.com");
    Map<String, String> codeData = new HashMap<>();
    codeData.put("user_id", "user-001");
    codeData.put("client_id", "app");
    codeData.put("redirect_uri", "http://app.com");
    codeData.put("email", "new@example.com");

    String zoneId = IdentityZoneHolder.get().getId();

    when(scimUserProvisioning.retrieve("user-001", zoneId)).thenReturn(user);
    when(scimUserProvisioning.query(anyString(), eq(zoneId)))
            .thenReturn(Collections.singletonList(new ScimUser()));
    String data = JsonUtils.writeValueAsString(codeData);
    when(codeStore.generateCode(eq(data), any(Timestamp.class), eq(EMAIL.name()), anyString())).thenReturn(
            new ExpiringCode("the_secret_code", new Timestamp(System.currentTimeMillis()), data, EMAIL.name()));

    emailChangeEmailService.beginEmailChange("user-001", "user@example.com", "new@example.com", "app",
            "http://app.com");

    verify(codeStore).generateCode(eq(JsonUtils.writeValueAsString(codeData)), any(Timestamp.class),
            eq(EMAIL.name()), eq(zoneId));

    ArgumentCaptor<String> emailBodyArgument = ArgumentCaptor.forClass(String.class);
    Mockito.verify(messageService).sendMessage(eq("new@example.com"), eq(MessageType.CHANGE_EMAIL),
            eq(zoneName + " Email change verification"), emailBodyArgument.capture());

    String emailBody = emailBodyArgument.getValue();

    assertThat(emailBody,
            containsString(String.format("A request has been made to change the email for %s from %s to %s",
                    zoneName, "user@example.com", "new@example.com")));
    assertThat(emailBody, containsString(
            "<a href=\"http://test.localhost/login/verify_email?code=the_secret_code\">Verify your email</a>"));
    assertThat(emailBody, containsString("Thank you,<br />\n    " + zoneName));
}

From source file:org.cloudfoundry.identity.uaa.provider.oauth.XOAuthAuthenticationManagerIT.java

private void setUpInvitedUser() {
    UaaUser existingShadowUser = new UaaUser(new UaaUserPrototype().withUsername("marissa@bloggs.com")
            .withPassword("").withEmail("marissa@bloggs.com").withGivenName("Marissa_Old")
            .withFamilyName("Bloggs_Old").withId("user-id").withOrigin("the_origin").withZoneId("uaa")
            .withAuthorities(UaaAuthority.USER_AUTHORITIES));

    userDatabase.addUser(existingShadowUser);

    RequestAttributes attributes = new ServletRequestAttributes(new MockHttpServletRequest());
    attributes.setAttribute("IS_INVITE_ACCEPTANCE", true, RequestAttributes.SCOPE_SESSION);
    attributes.setAttribute("user_id", existingShadowUser.getId(), RequestAttributes.SCOPE_SESSION);
    RequestContextHolder.setRequestAttributes(attributes);
}

From source file:org.cloudfoundry.identity.uaa.provider.oauth.XOAuthAuthenticationManagerTest.java

private UaaUser getInvitedUser() {
    UaaUser existingShadowUser = new UaaUser(new UaaUserPrototype().withUsername("marissa@bloggs.com")
            .withPassword("").withEmail("marissa@bloggs.com").withGivenName("Marissa_Old")
            .withFamilyName("Bloggs_Old").withId("user-id").withOrigin("the_origin").withZoneId("uaa")
            .withAuthorities(UaaAuthority.USER_AUTHORITIES));

    userDatabase.addUser(existingShadowUser);

    RequestAttributes attributes = new ServletRequestAttributes(new MockHttpServletRequest());
    attributes.setAttribute("IS_INVITE_ACCEPTANCE", true, RequestAttributes.SCOPE_SESSION);
    attributes.setAttribute("user_id", existingShadowUser.getId(), RequestAttributes.SCOPE_SESSION);
    RequestContextHolder.setRequestAttributes(attributes);

    return existingShadowUser;
}

From source file:org.springframework.boot.actuate.trace.WebRequestTraceFilter.java

protected Map<String, Object> getTrace(HttpServletRequest request) {
    HttpSession session = request.getSession(false);
    Throwable exception = (Throwable) request.getAttribute("javax.servlet.error.exception");
    Principal userPrincipal = request.getUserPrincipal();
    Map<String, Object> trace = new LinkedHashMap<String, Object>();
    Map<String, Object> headers = new LinkedHashMap<String, Object>();
    trace.put("method", request.getMethod());
    trace.put("path", request.getRequestURI());
    trace.put("headers", headers);
    if (isIncluded(Include.REQUEST_HEADERS)) {
        headers.put("request", getRequestHeaders(request));
    }//from w w w .j av  a 2  s  . co  m
    add(trace, Include.PATH_INFO, "pathInfo", request.getPathInfo());
    add(trace, Include.PATH_TRANSLATED, "pathTranslated", request.getPathTranslated());
    add(trace, Include.CONTEXT_PATH, "contextPath", request.getContextPath());
    add(trace, Include.USER_PRINCIPAL, "userPrincipal",
            (userPrincipal == null ? null : userPrincipal.getName()));
    add(trace, Include.PARAMETERS, "parameters", request.getParameterMap());
    add(trace, Include.QUERY_STRING, "query", request.getQueryString());
    add(trace, Include.AUTH_TYPE, "authType", request.getAuthType());
    add(trace, Include.REMOTE_ADDRESS, "remoteAddress", request.getRemoteAddr());
    add(trace, Include.SESSION_ID, "sessionId", (session == null ? null : session.getId()));
    add(trace, Include.REMOTE_USER, "remoteUser", request.getRemoteUser());
    if (isIncluded(Include.ERRORS) && exception != null && this.errorAttributes != null) {
        trace.put("error",
                this.errorAttributes.getErrorAttributes(new ServletRequestAttributes(request), true));
    }
    return trace;
}

From source file:org.springframework.boot.autoconfigure.web.BasicErrorController.java

@RequestMapping(value = "${error.path:/error}", produces = "text/html")
public ModelAndView errorHtml(HttpServletRequest request) {
    Map<String, Object> map = extract(new ServletRequestAttributes(request), false, false);
    return new ModelAndView(ERROR_KEY, map);
}

From source file:org.springframework.boot.autoconfigure.web.BasicErrorController.java

@RequestMapping(value = "${error.path:/error}")
@ResponseBody// w w w  .  ja v a  2s.c  o  m
public ResponseEntity<Map<String, Object>> error(HttpServletRequest request) {
    ServletRequestAttributes attributes = new ServletRequestAttributes(request);
    String trace = request.getParameter("trace");
    Map<String, Object> extracted = extract(attributes, trace != null && !"false".equals(trace.toLowerCase()),
            true);
    HttpStatus statusCode = getStatus((Integer) extracted.get("status"));
    return new ResponseEntity<Map<String, Object>>(extracted, statusCode);
}

From source file:org.springframework.web.context.request.RequestContextListener.java

public void requestInitialized(ServletRequestEvent requestEvent) {
    if (!(requestEvent.getServletRequest() instanceof HttpServletRequest)) {
        throw new IllegalArgumentException(
                "Request is not an HttpServletRequest: " + requestEvent.getServletRequest());
    }//from   w ww.ja  v  a  2 s  .com
    HttpServletRequest request = (HttpServletRequest) requestEvent.getServletRequest();
    ServletRequestAttributes attributes = new ServletRequestAttributes(request);
    request.setAttribute(REQUEST_ATTRIBUTES_ATTRIBUTE, attributes);
    LocaleContextHolder.setLocale(request.getLocale());
    RequestContextHolder.setRequestAttributes(attributes);
    if (logger.isDebugEnabled()) {
        logger.debug("Bound request context to thread: " + request);
    }
}