Package org.springframework.web.context.support

# Class ContextExposingHttpServletRequest

java.lang.Object
jakarta.servlet.ServletRequestWrapper
jakarta.servlet.http.HttpServletRequestWrapper
org.springframework.web.context.support.ContextExposingHttpServletRequest

All Implemented Interfaces:
  `HttpServletRequest`, `ServletRequest`

public class ContextExposingHttpServletRequest extends HttpServletRequestWrapper
HttpServletRequest decorator that makes all Spring beans in a given WebApplicationContext accessible as request attributes, through lazy checking once an attribute gets accessed.

Since:
  2.5
Author:
  Juergen Hoeller

## Field Summary

### Fields inherited from interface jakarta.servlet.http.HttpServletRequest

`BASIC_AUTH, CLIENT_CERT_AUTH, DIGEST_AUTH, FORM_AUTH`

## Constructor Summary

Constructors
Constructor
Description
`ContextExposingHttpServletRequest(HttpServletRequest originalRequest, WebApplicationContext context)`
Create a new ContextExposingHttpServletRequest for the given request.
`ContextExposingHttpServletRequest(HttpServletRequest originalRequest, WebApplicationContext context, Set<String> exposedContextBeanNames)`
Create a new ContextExposingHttpServletRequest for the given request.

## Method Summary

Modifier and Type
Method
Description
`Object`
`getAttribute(String name)`
`final WebApplicationContext`
`getWebApplicationContext()`
Return the WebApplicationContext that this request runs in.
`void`
`setAttribute(String name, Object value)`

### Methods inherited from class jakarta.servlet.http.HttpServletRequestWrapper

`authenticate, changeSessionId, getAuthType, getContextPath, getCookies, getDateHeader, getHeader, getHeaderNames, getHeaders, getHttpServletMapping, getIntHeader, getMethod, getPart, getParts, getPathInfo, getPathTranslated, getQueryString, getRemoteUser, getRequestedSessionId, getRequestURI, getRequestURL, getServletPath, getSession, getSession, getTrailerFields, getUserPrincipal, isRequestedSessionIdFromCookie, isRequestedSessionIdFromURL, isRequestedSessionIdValid, isTrailerFieldsReady, isUserInRole, login, logout, newPushBuilder, upgrade`

### Methods inherited from class jakarta.servlet.ServletRequestWrapper

`getAsyncContext, getAttributeNames, getCharacterEncoding, getContentLength, getContentLengthLong, getContentType, getDispatcherType, getInputStream, getLocalAddr, getLocale, getLocales, getLocalName, getLocalPort, getParameter, getParameterMap, getParameterNames, getParameterValues, getProtocol, getProtocolRequestId, getReader, getRemoteAddr, getRemoteHost, getRemotePort, getRequest, getRequestDispatcher, getRequestId, getScheme, getServerName, getServerPort, getServletConnection, getServletContext, isAsyncStarted, isAsyncSupported, isSecure, isWrapperFor, isWrapperFor, removeAttribute, setCharacterEncoding, setRequest, startAsync, startAsync`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface jakarta.servlet.ServletRequest

`getAsyncContext, getAttributeNames, getCharacterEncoding, getContentLength, getContentLengthLong, getContentType, getDispatcherType, getInputStream, getLocalAddr, getLocale, getLocales, getLocalName, getLocalPort, getParameter, getParameterMap, getParameterNames, getParameterValues, getProtocol, getProtocolRequestId, getReader, getRemoteAddr, getRemoteHost, getRemotePort, getRequestDispatcher, getRequestId, getScheme, getServerName, getServerPort, getServletConnection, getServletContext, isAsyncStarted, isAsyncSupported, isSecure, removeAttribute, setCharacterEncoding, startAsync, startAsync`

## Constructor Details

### ContextExposingHttpServletRequest

public ContextExposingHttpServletRequest(HttpServletRequest originalRequest, WebApplicationContext context)
Create a new ContextExposingHttpServletRequest for the given request.

Parameters:
  `originalRequest` - the original HttpServletRequest
  `context` - the WebApplicationContext that this request runs in

### ContextExposingHttpServletRequest

public ContextExposingHttpServletRequest(HttpServletRequest originalRequest, WebApplicationContext context, @Nullable Set<String> exposedContextBeanNames)
Create a new ContextExposingHttpServletRequest for the given request.

Parameters:
  `originalRequest` - the original HttpServletRequest
  `context` - the WebApplicationContext that this request runs in
  `exposedContextBeanNames` - the names of beans in the context which are supposed to be exposed (if this is non-null, only the beans in this Set are eligible for exposure as attributes)

## Method Details

### getWebApplicationContext

public final WebApplicationContext getWebApplicationContext()
Return the WebApplicationContext that this request runs in.

### getAttribute

@Nullable public Object getAttribute(String name)

Specified by:
  `getAttribute` in interface `ServletRequest`
Overrides:
  `getAttribute` in class `ServletRequestWrapper`

### setAttribute

public void setAttribute(String name, Object value)

Specified by:
  `setAttribute` in interface `ServletRequest`
Overrides:
  `setAttribute` in class `ServletRequestWrapper`