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:org.springframework.metrics.instrument.web.WebmvcMetricsHandlerInterceptor.java

@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
        throws Exception {
    RequestContextHolder.getRequestAttributes().setAttribute(TIMING_REQUEST_ATTRIBUTE, System.nanoTime(),
            SCOPE_REQUEST);//from   w w w  .j  av  a2 s . co  m
    return super.preHandle(request, response, handler);
}

From source file:org.springframework.test.context.web.WebTestExecutionListener.java

/**
 * TODO [SPR-9864] Document setUpRequestContext().
 *
 * @param testContext// w w  w. j a va 2  s  . co m
 * @param servletContext
 */
private void setUpRequestContextIfNecessary(TestContext testContext) {

    ApplicationContext context = testContext.getApplicationContext();

    if (context instanceof WebApplicationContext) {
        WebApplicationContext wac = (WebApplicationContext) context;
        ServletContext servletContext = wac.getServletContext();
        if (!(servletContext instanceof MockServletContext)) {
            throw new IllegalStateException(String.format(
                    "The WebApplicationContext for test context %s must be configured with a MockServletContext.",
                    testContext));
        }

        if (logger.isDebugEnabled()) {
            logger.debug(String.format(
                    "Setting up MockHttpServletRequest, MockHttpServletResponse, ServletWebRequest, and RequestContextHolder for test context %s.",
                    testContext));
        }

        if (RequestContextHolder.getRequestAttributes() == null) {
            MockServletContext mockServletContext = (MockServletContext) servletContext;
            MockHttpServletRequest request = new MockHttpServletRequest(mockServletContext);
            MockHttpServletResponse response = new MockHttpServletResponse();
            ServletWebRequest servletWebRequest = new ServletWebRequest(request, response);

            RequestContextHolder.setRequestAttributes(servletWebRequest);

            if (wac instanceof ConfigurableApplicationContext) {
                ConfigurableApplicationContext configurableApplicationContext = (ConfigurableApplicationContext) wac;
                ConfigurableListableBeanFactory bf = configurableApplicationContext.getBeanFactory();
                bf.registerResolvableDependency(MockHttpServletResponse.class, response);
                bf.registerResolvableDependency(ServletWebRequest.class, servletWebRequest);
            }
        }
    }
}

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

public void requestDestroyed(ServletRequestEvent requestEvent) {
    ServletRequestAttributes attributes = (ServletRequestAttributes) requestEvent.getServletRequest()
            .getAttribute(REQUEST_ATTRIBUTES_ATTRIBUTE);
    ServletRequestAttributes threadAttributes = (ServletRequestAttributes) RequestContextHolder
            .getRequestAttributes();//from w  w  w  .ja  va 2  s  . c  om
    if (threadAttributes != null) {
        // We're assumably within the original request thread...
        if (attributes == null) {
            attributes = threadAttributes;
        }
        RequestContextHolder.setRequestAttributes(null);
        LocaleContextHolder.setLocale(null);
    }
    if (attributes != null) {
        attributes.requestCompleted();
        if (logger.isDebugEnabled()) {
            logger.debug("Cleared thread-bound request context: " + requestEvent.getServletRequest());
        }
    }
}

From source file:org.springframework.web.servlet.mvc.method.annotation.MvcUriComponentsBuilder.java

@Nullable
private static WebApplicationContext getWebApplicationContext() {
    RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
    if (requestAttributes == null) {
        logger.debug("No request bound to the current thread: not in a DispatcherServlet request?");
        return null;
    }//  w  ww .  j a va 2s.  co m

    HttpServletRequest request = ((ServletRequestAttributes) requestAttributes).getRequest();
    WebApplicationContext wac = (WebApplicationContext) request
            .getAttribute(DispatcherServlet.WEB_APPLICATION_CONTEXT_ATTRIBUTE);
    if (wac == null) {
        logger.debug("No WebApplicationContext found: not in a DispatcherServlet request?");
        return null;
    }
    return wac;
}

From source file:org.springframework.web.servlet.view.ContentNegotiatingViewResolver.java

@Override
public View resolveViewName(String viewName, Locale locale) throws Exception {
    RequestAttributes attrs = RequestContextHolder.getRequestAttributes();
    Assert.isInstanceOf(ServletRequestAttributes.class, attrs);
    List<MediaType> requestedMediaTypes = getMediaTypes(((ServletRequestAttributes) attrs).getRequest());
    if (requestedMediaTypes != null) {
        List<View> candidateViews = getCandidateViews(viewName, locale, requestedMediaTypes);
        View bestView = getBestView(candidateViews, requestedMediaTypes, attrs);
        if (bestView != null) {
            return bestView;
        }/*from   w w  w  .ja v a  2  s  . 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.talend.daikon.http.HttpRequestContext.java

/**
 * @return All the current HTTP parameters in current HTTP request or empty enumeration if not in an HTTP context.
 *///from   w ww .  j ava 2  s . c  om
public static Enumeration<String> parameters() {
    final RequestAttributes attributes = RequestContextHolder.getRequestAttributes();
    if (attributes != null && attributes instanceof ServletRequestAttributes) {
        return ((ServletRequestAttributes) attributes).getRequest().getParameterNames();
    }
    return Collections.emptyEnumeration();
}

From source file:org.talend.daikon.http.HttpRequestContext.java

/**
 * @param parameterName The HTTP parameter name.
 * @return All the requested HTTP parameter value in current HTTP request or empty string if not in an HTTP context.
 *//*from   w  ww .  j  a  v a 2 s . c  o  m*/
public static String parameter(String parameterName) {
    final RequestAttributes attributes = RequestContextHolder.getRequestAttributes();
    if (attributes != null && attributes instanceof ServletRequestAttributes) {
        return ((ServletRequestAttributes) attributes).getRequest().getParameter(parameterName);
    }
    return StringUtils.EMPTY;
}

From source file:org.talend.dataprep.http.HttpRequestContext.java

public static Enumeration<String> parameters() {
    final RequestAttributes attributes = RequestContextHolder.getRequestAttributes();
    if (attributes != null && attributes instanceof ServletRequestAttributes) {
        return ((ServletRequestAttributes) attributes).getRequest().getParameterNames();
    }//from   w  w w  .j  a v  a2s.  c o m
    return Collections.emptyEnumeration();
}

From source file:org.talend.dataprep.http.HttpRequestContext.java

public static String parameter(String parameterName) {
    final RequestAttributes attributes = RequestContextHolder.getRequestAttributes();
    if (attributes != null && attributes instanceof ServletRequestAttributes) {
        return ((ServletRequestAttributes) attributes).getRequest().getParameter(parameterName);
    }/*from   ww w.j a  va2s . c om*/
    return StringUtils.EMPTY;
}