Interface SlingHttpServletRequest
- All Superinterfaces:
Adaptable
,javax.servlet.http.HttpServletRequest
,javax.servlet.ServletRequest
- All Known Implementing Classes:
OnDemandReaderRequest
,RequestWrapper
,SlingHttpServletRequestWrapper
,SlingServletRequestAdapter
SlingHttpServletRequest
defines the interface to provide
client request information to a servlet.
Request Parameters Generally request parameters are transmitted as
part of the URL string such as GET /some/path?param=value
or as request data of content type application/x-www-form-urlencoded
or multipart/form-data. The Sling Framework must decode parameters
transferred as request data and make them available through the various
parameter accessor methods. Generally parameters transferred as
multipart/form-data will be accessed by one of the methods returning
RequestParameter
instances.
In any case, the ServletRequest.getReader()
and ServletRequest.getInputStream()
methods
will throw an IllegalStateException
if called after any methods
returning request parameters if the request content type is either
application/x-www-form-urlencoded or multipart/form-data
because the request data has already been processed.
Starting with Sling API 2.0.6, this interface als extends the
Adaptable
interface.
-
Field Summary
Fields inherited from interface javax.servlet.http.HttpServletRequest
BASIC_AUTH, CLIENT_CERT_AUTH, DIGEST_AUTH, FORM_AUTH
-
Method Summary
Modifier and TypeMethodDescription@Nullable String
Returns the name of the authentication scheme used to protect the servlet.@Nullable javax.servlet.http.Cookie
Returns the named cookie from the HTTP request ornull
if no such cookie exists in the request.@Nullable String
Returns the login of the user making this request, if the user has been authenticated, ornull
if the user has not been authenticated.@Nullable javax.servlet.RequestDispatcher
getRequestDispatcher
(@NotNull String path, RequestDispatcherOptions options) Returns aRequestDispatcher
object that acts as a wrapper for the resource located at the given path.@Nullable javax.servlet.RequestDispatcher
getRequestDispatcher
(@NotNull Resource resource) Same asgetRequestDispatcher(Resource,RequestDispatcherOptions)
but using empty options.@Nullable javax.servlet.RequestDispatcher
getRequestDispatcher
(@NotNull Resource resource, RequestDispatcherOptions options) Returns aRequestDispatcher
object that acts as a wrapper for the resource located at the given resource.@Nullable RequestParameter
getRequestParameter
(@NotNull String name) Returns the value of a request parameter as aRequestParameter
, ornull
if the parameter does not exist.@NotNull List<RequestParameter>
Returns the request parameters as instances of theRequestParameter
interface in the order or the request where the query string parameters are first and the POST request parameters are second.@NotNull RequestParameterMap
Returns aMap
of the parameters of this request.@Nullable RequestParameter[]
getRequestParameters
(@NotNull String name) Returns an array ofRequestParameter
objects containing all of the values the given request parameter has, ornull
if the parameter does not exist.@NotNull RequestPathInfo
Returns theRequestPathInfo
pertaining to this request.@NotNull RequestProgressTracker
Returns theRequestProgressTracker
of this request.@NotNull Resource
Returns theResource
object on whose behalf the servlet acts.@Nullable ResourceBundle
getResourceBundle
(String baseName, Locale locale) Returns the resource bundle of the given base name for the given locale.@Nullable ResourceBundle
getResourceBundle
(Locale locale) Returns the resource bundle for the given locale.@NotNull ResourceResolver
Returns theResourceResolver
which resolved theresource
of this request.@Nullable String
Returns the framework preferred content type for the response.@NotNull Enumeration<String>
Gets a list of content types which the framework accepts for the response.Returns ajava.security.Principal
object containing the name of the current authenticated user.Methods inherited from interface javax.servlet.http.HttpServletRequest
authenticate, changeSessionId, getContextPath, getCookies, getDateHeader, getHeader, getHeaderNames, getHeaders, getIntHeader, getMethod, getPart, getParts, getPathInfo, getPathTranslated, getQueryString, getRequestedSessionId, getRequestURI, getRequestURL, getServletPath, getSession, getSession, isRequestedSessionIdFromCookie, isRequestedSessionIdFromUrl, isRequestedSessionIdFromURL, isRequestedSessionIdValid, isUserInRole, login, logout, upgrade
Methods inherited from interface javax.servlet.ServletRequest
getAsyncContext, getAttribute, getAttributeNames, getCharacterEncoding, getContentLength, getContentLengthLong, getContentType, getDispatcherType, getInputStream, getLocalAddr, getLocale, getLocales, getLocalName, getLocalPort, getParameter, getParameterMap, getParameterNames, getParameterValues, getProtocol, getReader, getRealPath, getRemoteAddr, getRemoteHost, getRemotePort, getRequestDispatcher, getScheme, getServerName, getServerPort, getServletContext, isAsyncStarted, isAsyncSupported, isSecure, removeAttribute, setAttribute, setCharacterEncoding, startAsync, startAsync
-
Method Details
-
getResource
Returns theResource
object on whose behalf the servlet acts.- Returns:
- The
Resource
object of this request.
-
getResourceResolver
Returns theResourceResolver
which resolved theresource
of this request.- Returns:
- The resource resolver
-
getRequestPathInfo
Returns theRequestPathInfo
pertaining to this request.- Returns:
- the request path info.
-
getRequestParameter
Returns the value of a request parameter as aRequestParameter
, ornull
if the parameter does not exist.This method should only be used if the parameter has only one value. If the parameter might have more than one value, use
getRequestParameters(String)
.If this method is used with a multivalued parameter, the value returned is equal to the first value in the array returned by
getRequestParameters
.This method is a shortcut for
getRequestParameterMap().getValue(String)
.- Parameters:
name
- aString
specifying the name of the parameter- Returns:
- a
RequestParameter
representing the single value of the parameter - Throws:
IllegalArgumentException
- if name isnull
.- See Also:
-
getRequestParameters
Returns an array ofRequestParameter
objects containing all of the values the given request parameter has, ornull
if the parameter does not exist.If the parameter has a single value, the array has a length of 1.
This method is a shortcut for
getRequestParameterMap().getValues(String)
.- Parameters:
name
- aString
containing the name of the parameter the value of which is requested- Returns:
- an array of
RequestParameter
objects containing the parameter values. - Throws:
IllegalArgumentException
- if name isnull
.- See Also:
-
getRequestParameterMap
Returns aMap
of the parameters of this request.The values in the returned
Map
are from typeRequestParameter
array (RequestParameter[]
).If no parameters exist this method returns an empty
Map
.- Returns:
- an immutable
Map
containing parameter names as keys and parameter values as map values, or an emptyMap
if no parameters exist. The keys in the parameter map are of type String. The values in the parameter map are of typeRequestParameter
array (RequestParameter[]
).
-
getRequestParameterList
Returns the request parameters as instances of theRequestParameter
interface in the order or the request where the query string parameters are first and the POST request parameters are second.- Returns:
- The list of
RequestParameter
in request declaration order. - Since:
- 2.3 (Sling API Bundle 2.6.0)
-
getRequestDispatcher
@Nullable @Nullable javax.servlet.RequestDispatcher getRequestDispatcher(@NotNull @NotNull String path, RequestDispatcherOptions options) Returns aRequestDispatcher
object that acts as a wrapper for the resource located at the given path. ARequestDispatcher
object can be used to include the resource in a response.Returns
null
if aRequestDispatcher
cannot be returned for any reason.- Parameters:
path
- aString
specifying the pathname to the resource. If it is relative, it must be relative against the current servlet.options
- influence the rendering of the included Resource- Returns:
- a
RequestDispatcher
object that acts as a wrapper for theresource
ornull
if an error occurs preparing the dispatcher.
-
getRequestDispatcher
@Nullable @Nullable javax.servlet.RequestDispatcher getRequestDispatcher(@NotNull @NotNull Resource resource, RequestDispatcherOptions options) Returns aRequestDispatcher
object that acts as a wrapper for the resource located at the given resource. ARequestDispatcher
object can be used to include the resource in a response.Returns
null
if aRequestDispatcher
cannot be returned for any reason.- Parameters:
resource
- TheResource
instance whose response content may be included by the returned dispatcher.options
- influence the rendering of the included Resource- Returns:
- a
RequestDispatcher
object that acts as a wrapper for theresource
ornull
if an error occurs preparing the dispatcher.
-
getRequestDispatcher
@Nullable @Nullable javax.servlet.RequestDispatcher getRequestDispatcher(@NotNull @NotNull Resource resource) Same asgetRequestDispatcher(Resource,RequestDispatcherOptions)
but using empty options.- Parameters:
resource
- TheResource
instance whose response content may be included by the returned dispatcher.- Returns:
- a
RequestDispatcher
object that acts as a wrapper for theresource
ornull
if an error occurs preparing the dispatcher.
-
getCookie
Returns the named cookie from the HTTP request ornull
if no such cookie exists in the request.- Parameters:
name
- The name of the cookie to return.- Returns:
- The named cookie or
null
if no such cookie exists.
-
getResponseContentType
Returns the framework preferred content type for the response. The content type only includes the MIME type, not the character set.For included resources this method will returned the same string as returned by the
ServletResponse.getContentType()
without the character set.- Returns:
- preferred MIME type of the response
-
getResponseContentTypes
Gets a list of content types which the framework accepts for the response. This list is ordered with the most preferable types listed first. The content type only includes the MIME type, not the character set.For included resources this method will returned an enumeration containing a single entry which is the same string as returned by the
ServletResponse.getContentType()
without the character set.- Returns:
- ordered list of MIME types for the response
-
getResourceBundle
Returns the resource bundle for the given locale.- Parameters:
locale
- the locale for which to retrieve the resource bundle. If this isnull
, the locale returned byServletRequest.getLocale()
is used to select the resource bundle.- Returns:
- the resource bundle for the given locale
-
getResourceBundle
Returns the resource bundle of the given base name for the given locale.- Parameters:
baseName
- The base name of the resource bundle to returned. If this parameter isnull
, the same resource bundle must be returned as if thegetResourceBundle(Locale)
method is called.locale
- the locale for which to retrieve the resource bundle. If this isnull
, the locale returned byServletRequest.getLocale()
is used to select the resource bundle.- Returns:
- the resource bundle for the given locale
-
getRequestProgressTracker
Returns theRequestProgressTracker
of this request.- Returns:
- The request progress tracker.
-
getUserPrincipal
Returns ajava.security.Principal
object containing the name of the current authenticated user.Note: This method deviates from the parent interface and might return a prinicpal even for anonymous users. Therefore it cannot be used to determine whether the user is authenticated.
- Specified by:
getUserPrincipal
in interfacejavax.servlet.http.HttpServletRequest
- Returns:
- a
java.security.Principal
ornull
. - See Also:
-
getAuthType
Returns the name of the authentication scheme used to protect the servlet. All servlet containers support basic, form and client certificate authentication, and may additionally support digest authentication. If the request is not authenticatednull
is returned.- Specified by:
getAuthType
in interfacejavax.servlet.http.HttpServletRequest
- Returns:
- the authentication scheme or {code null}
- See Also:
-
getRemoteUser()
HttpServletRequest.getAuthType()
-
getRemoteUser
Returns the login of the user making this request, if the user has been authenticated, ornull
if the user has not been authenticated.- Specified by:
getRemoteUser
in interfacejavax.servlet.http.HttpServletRequest
- Returns:
- a
String
specifying the login of the user making this request, ornull
- See Also:
-
getAuthType()
HttpServletRequest.getRemoteUser()
-