Example usage for org.springframework.web.context.request RequestContextHolder getRequestAttributes

List of usage examples for org.springframework.web.context.request RequestContextHolder getRequestAttributes

Introduction

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

Prototype

@Nullable
public static RequestAttributes getRequestAttributes() 

Source Link

Document

Return the RequestAttributes currently bound to the thread.

Usage

From source file:nl.ivo2u.tiny.controller.TinyRestController.java

private static HttpServletRequest getCurrentRequest() {
    final RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
    Assert.state(requestAttributes != null, "Could not find current request via RequestContextHolder");
    Assert.isInstanceOf(ServletRequestAttributes.class, requestAttributes);
    final HttpServletRequest servletRequest = ((ServletRequestAttributes) requestAttributes).getRequest();
    Assert.state(servletRequest != null, "Could not find current HttpServletRequest");
    return servletRequest;
}

From source file:org.aon.esolutions.appconfig.web.controller.EnvironmentController.java

@RequestMapping(value = "/{environmentName}", method = RequestMethod.GET)
@ResponseMapping("environmentDetails")
public Environment getEnvironment(@PathVariable String applicationName, @PathVariable String environmentName) {
    Environment env = environmentRepository.getEnvironment(applicationName, environmentName);
    if (env == null)
        throw new NotFoundException("Can not find envioronment");

    populatePrivateKey(env);//www  .  jav a 2 s  .c o m

    RequestAttributes attributes = RequestContextHolder.getRequestAttributes();

    if (attributes != null) {
        attributes.setAttribute("allVariables", inheritanceUtil.getVariablesForEnvironment(env),
                RequestAttributes.SCOPE_REQUEST);

        if (usersAndRolesProvider != null) {
            attributes.setAttribute("availableUsers", usersAndRolesProvider.getAvailableUsers(),
                    RequestAttributes.SCOPE_REQUEST);
            attributes.setAttribute("availableRoles", usersAndRolesProvider.getAvailableRoles(),
                    RequestAttributes.SCOPE_REQUEST);
        }
    }

    return env;
}

From source file:org.beadle.framework.view.ReturnTypeViewResolver.java

public View resolveViewName(String viewName, Locale locale) throws Exception {
    RequestAttributes attrs = RequestContextHolder.getRequestAttributes();
    HttpServletRequest request = ((ServletRequestAttributes) attrs).getRequest();
    Assert.isInstanceOf(ServletRequestAttributes.class, attrs);
    List<MediaType> requestedMediaTypes = getMediaTypes(request);
    if (requestedMediaTypes != null) {
        List<View> candidateViews = getCandidateViews(viewName, locale, requestedMediaTypes);
        View bestView = getBestView(candidateViews, requestedMediaTypes, attrs);
        if (bestView != null) {
            return bestView;
        }/*  w  ww . j a va2s  .  c o  m*/
    }
    if (this.useNotAcceptableStatusCode) {
        if (logger.isDebugEnabled()) {
            logger.debug("No acceptable view found; returning 406 (Not Acceptable) status code");
        }
        return NOT_ACCEPTABLE_VIEW;
    } else {
        logger.debug("No acceptable view found; returning null");
        return null;
    }
}

From source file:org.broadleafcommerce.common.security.service.ExploitProtectionServiceImpl.java

@Override
public String getCSRFToken() throws ServiceException {
    HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes())
            .getRequest();//from   w  w  w  .  j  a  v  a 2s  .  c  o  m
    if (BLCRequestUtils.isOKtoUseSession(new ServletWebRequest(request))) {
        HttpSession session = request.getSession();
        String token = (String) session.getAttribute(CSRFTOKEN);
        if (StringUtils.isEmpty(token)) {
            try {
                token = RandomGenerator.generateRandomId("SHA1PRNG", 32);
            } catch (NoSuchAlgorithmException e) {
                LOG.error("Unable to generate random number", e);
                throw new ServiceException("Unable to generate random number", e);
            }
            session.setAttribute(CSRFTOKEN, token);
        }
        return token;
    }
    return null;
}

From source file:org.broadleafcommerce.common.security.service.StaleStateProtectionServiceImpl.java

@Override
public void compareToken(String passedToken) {
    if (staleStateProtectionEnabled) {
        HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes())
                .getRequest();//from ww  w . j  a  va  2s  .  c o m
        if (!getStateVersionToken().equals(passedToken)
                && request.getAttribute(getStateVersionTokenParameter()) == null) {
            throw new StaleStateServiceException("Page version token mismatch (" + passedToken
                    + "). The request likely came from a stale page.");
        } else {
            request.setAttribute(getStateVersionTokenParameter(), "passed");
            if (LOG.isDebugEnabled()) {
                LOG.debug("Validated page version token");
            }
        }
    }
}

From source file:org.broadleafcommerce.common.security.service.StaleStateProtectionServiceImpl.java

@Override
public String getStateVersionToken() {
    HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes())
            .getRequest();//from ww  w  .  j a v a2s.  com
    if (BLCRequestUtils.isOKtoUseSession(new ServletWebRequest(request))) {
        HttpSession session = request.getSession();
        String token = (String) session.getAttribute(STATEVERSIONTOKEN);
        if (StringUtils.isEmpty(token)) {
            try {
                token = RandomGenerator.generateRandomId("SHA1PRNG", 32);
            } catch (NoSuchAlgorithmException e) {
                LOG.error("Unable to generate random number", e);
                throw new RuntimeException("Unable to generate random number", e);
            }
            session.setAttribute(STATEVERSIONTOKEN, token);
        }
        return token;
    }
    return null;
}

From source file:org.broadleafcommerce.common.security.service.StaleStateProtectionServiceImpl.java

@Override
public void invalidateState() {
    HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes())
            .getRequest();/*from ww w  . jav a 2  s.c  om*/
    if (BLCRequestUtils.isOKtoUseSession(new ServletWebRequest(request))) {
        HttpSession session = request.getSession();
        session.removeAttribute(STATEVERSIONTOKEN);
    }
}

From source file:org.broadleafcommerce.common.web.BroadleafThymeleafViewResolver.java

protected boolean isIFrameRequest() {
    HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes())
            .getRequest();/*from   www .jav  a2  s.  c o m*/
    String iFrameParameter = request.getParameter("blcIFrame");
    return (iFrameParameter != null && "true".equals(iFrameParameter));
}

From source file:org.broadleafcommerce.common.web.BroadleafThymeleafViewResolver.java

protected boolean isAjaxRequest() {
    // First, let's try to get it from the BroadleafRequestContext
    HttpServletRequest request = null;//from  w  w w.  ja  va2  s.  c o  m
    if (BroadleafRequestContext.getBroadleafRequestContext() != null) {
        HttpServletRequest brcRequest = BroadleafRequestContext.getBroadleafRequestContext().getRequest();
        if (brcRequest != null) {
            request = brcRequest;
        }
    }

    // If we didn't find it there, we might be outside of a security-configured uri. Let's see if the filter got it
    if (request == null) {
        try {
            request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
        } catch (ClassCastException e) {
            // In portlet environments, we won't be able to cast to a ServletRequestAttributes. We don't want to 
            // blow up in these scenarios.
            LOG.warn("Unable to cast to ServletRequestAttributes and the request in BroadleafRequestContext "
                    + "was not set. This may introduce incorrect AJAX behavior.");
        }
    }

    // If we still don't have a request object, we'll default to non-ajax
    if (request == null) {
        return false;
    }

    return BroadleafControllerUtility.isAjaxRequest(request);
}

From source file:org.broadleafcommerce.common.web.resource.BLCJSResourceHandler.java

@Override
public Resource getFileContents(String path, List<Resource> locations) {
    Resource resource = getRawResource(path, locations);
    String contents;/*ww  w  .java  2 s  . c  om*/
    try {
        contents = getResourceContents(resource);
    } catch (IOException e) {
        throw new RuntimeException("Could not get raw resource contents", e);
    }

    String newContents = contents;
    if (StringUtils.isNotBlank(contents)) {
        HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes())
                .getRequest();
        newContents = newContents.replace("//BLC-SERVLET-CONTEXT", request.getContextPath());

        String siteBaseUrl = propMgr.getProperty("site.baseurl");
        if (StringUtils.isNotBlank(siteBaseUrl)) {
            newContents = newContents.replace("//BLC-SITE-BASEURL", siteBaseUrl);
        }
    }

    GeneratedResource gr = new GeneratedResource(newContents.getBytes(), path);
    gr.setHashRepresentation(String.valueOf(contents.hashCode()));
    return gr;
}