Package org.apache.sling.api

# Interface SlingHttpServletRequest

All Superinterfaces:
  `Adaptable`, `javax.servlet.http.HttpServletRequest`, `javax.servlet.ServletRequest`

All Known Implementing Classes:
  `JakartaToJavaxRequestWrapper`, `SlingHttpServletRequestWrapper`

@ProviderType @Deprecated public interface SlingHttpServletRequest extends javax.servlet.http.HttpServletRequest, Adaptable
Deprecated.
Use `SlingJakartaHttpServletRequest` instead.
The `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 Type
Method
Description
`@Nullable String`
`getAuthType()`
Deprecated.
Returns the name of the authentication scheme used to protect the servlet.
`@Nullable javax.servlet.http.Cookie`
`getCookie(String name)`
Deprecated.
Returns the named cookie from the HTTP request or `null` if no such cookie exists in the request.
`@Nullable String`
`getRemoteUser()`
Deprecated.
Returns the login of the user making this request, if the user has been authenticated, or `null` if the user has not been authenticated.
`@Nullable javax.servlet.RequestDispatcher`
`getRequestDispatcher(@NotNull String path, RequestDispatcherOptions options)`
Deprecated.
Returns a `RequestDispatcher` object that acts as a wrapper for the resource located at the given path.
`@Nullable javax.servlet.RequestDispatcher`
`getRequestDispatcher(@NotNull Resource resource)`
Deprecated.
Same as `getRequestDispatcher(Resource,RequestDispatcherOptions)` but using empty options.
`@Nullable javax.servlet.RequestDispatcher`
`getRequestDispatcher(@NotNull Resource resource, RequestDispatcherOptions options)`
Deprecated.
Returns a `RequestDispatcher` object that acts as a wrapper for the resource located at the given resource.
`@Nullable RequestParameter`
`getRequestParameter(@NotNull String name)`
Deprecated.
Returns the value of a request parameter as a `RequestParameter`, or `null` if the parameter does not exist.
`@NotNull List<RequestParameter>`
`getRequestParameterList()`
Deprecated.
Returns the request parameters as instances of the `RequestParameter` interface in the order or the request where the query string parameters are first and the POST request parameters are second.
`@NotNull RequestParameterMap`
`getRequestParameterMap()`
Deprecated.
Returns a `Map` of the parameters of this request.
`@Nullable RequestParameter[]`
`getRequestParameters(@NotNull String name)`
Deprecated.
Returns an array of `RequestParameter` objects containing all of the values the given request parameter has, or `null` if the parameter does not exist.
`@NotNull RequestPathInfo`
`getRequestPathInfo()`
Deprecated.
Returns the `RequestPathInfo` pertaining to this request.
`@NotNull RequestProgressTracker`
`getRequestProgressTracker()`
Deprecated.
Returns the `RequestProgressTracker` of this request.
`@NotNull Resource`
`getResource()`
Deprecated.
Returns the `Resource` object on whose behalf the servlet acts.
`@Nullable ResourceBundle`
`getResourceBundle(String baseName, Locale locale)`
Deprecated.
Returns the resource bundle of the given base name for the given locale.
`@Nullable ResourceBundle`
`getResourceBundle(Locale locale)`
Deprecated.
Returns the resource bundle for the given locale.
`@NotNull ResourceResolver`
`getResourceResolver()`
Deprecated.
Returns the `ResourceResolver` which resolved the `resource` of this request.
`@Nullable String`
`getResponseContentType()`
Deprecated.
Returns the framework preferred content type for the response.
`@NotNull Enumeration<String>`
`getResponseContentTypes()`
Deprecated.
Gets a list of content types which the framework accepts for the response.
`Principal`
`getUserPrincipal()`
Deprecated.
Returns a `java.security.Principal` object containing the name of the current authenticated user.

### Methods inherited from interface org.apache.sling.api.adapter.Adaptable

`adaptTo`

### Methods inherited from interface javax.servlet.http.HttpServletRequest

`authenticate, changeSessionId, getContextPath, getCookies, getDateHeader, getHeader, getHeaderNames, getHeaders, getHttpServletMapping, getIntHeader, getMethod, getPart, getParts, getPathInfo, getPathTranslated, getQueryString, getRequestedSessionId, getRequestURI, getRequestURL, getServletPath, getSession, getSession, getTrailerFields, isRequestedSessionIdFromCookie, isRequestedSessionIdFromUrl, isRequestedSessionIdFromURL, isRequestedSessionIdValid, isTrailerFieldsReady, isUserInRole, login, logout, newPushBuilder, 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

@NotNull @NotNull Resource getResource()
Deprecated.
Returns the `Resource` object on whose behalf the servlet acts.

Returns:
  The `Resource` object of this request.

### getResourceResolver

@NotNull @NotNull ResourceResolver getResourceResolver()
Deprecated.
Returns the `ResourceResolver` which resolved the `resource` of this request.

Returns:
  The resource resolver

### getRequestPathInfo

@NotNull @NotNull RequestPathInfo getRequestPathInfo()
Deprecated.
Returns the `RequestPathInfo` pertaining to this request.

Returns:
  the request path info.

### getRequestParameter

@Nullable @Nullable RequestParameter getRequestParameter(@NotNull @NotNull String name)
Deprecated.
Returns the value of a request parameter as a `RequestParameter`, or `null` 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` - a `String` specifying the name of the parameter
Returns:
  a `RequestParameter` representing the single value of the parameter
Throws:
  `IllegalArgumentException` - if name is `null`.
See Also:
  - `getRequestParameters(String)`
  - `RequestParameterMap.getValue(String)`

### getRequestParameters

@Nullable @Nullable RequestParameter[] getRequestParameters(@NotNull @NotNull String name)
Deprecated.
Returns an array of `RequestParameter` objects containing all of the values the given request parameter has, or `null` 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` - a `String` 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 is `null`.
See Also:
  - `getRequestParameter(String)`
  - `RequestParameterMap.getValues(String)`

### getRequestParameterMap

@NotNull @NotNull RequestParameterMap getRequestParameterMap()
Deprecated.
Returns a `Map` of the parameters of this request.

The values in the returned `Map` are from type `RequestParameter` 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 empty `Map` if no parameters exist. The keys in the parameter map are of type String. The values in the parameter map are of type `RequestParameter` array (`RequestParameter[]`).

### getRequestParameterList

@NotNull @NotNull List<RequestParameter> getRequestParameterList()
Deprecated.
Returns the request parameters as instances of the `RequestParameter` 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)
Deprecated.
Returns a `RequestDispatcher` object that acts as a wrapper for the resource located at the given path. A `RequestDispatcher` object can be used to include the resource in a response.

Returns `null` if a `RequestDispatcher` cannot be returned for any reason.

Parameters:
  `path` - a `String` 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 the `resource` or `null` if an error occurs preparing the dispatcher.

### getRequestDispatcher

@Nullable @Nullable javax.servlet.RequestDispatcher getRequestDispatcher(@NotNull @NotNull Resource resource, RequestDispatcherOptions options)
Deprecated.
Returns a `RequestDispatcher` object that acts as a wrapper for the resource located at the given resource. A `RequestDispatcher` object can be used to include the resource in a response.

Returns `null` if a `RequestDispatcher` cannot be returned for any reason.

Parameters:
  `resource` - The `Resource` 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 the `resource` or `null` if an error occurs preparing the dispatcher.

### getRequestDispatcher

@Nullable @Nullable javax.servlet.RequestDispatcher getRequestDispatcher(@NotNull @NotNull Resource resource)
Deprecated.
Same as `getRequestDispatcher(Resource,RequestDispatcherOptions)` but using empty options.

Parameters:
  `resource` - The `Resource` instance whose response content may be included by the returned dispatcher.
Returns:
  a `RequestDispatcher` object that acts as a wrapper for the `resource` or `null` if an error occurs preparing the dispatcher.

### getCookie

@Nullable @Nullable javax.servlet.http.Cookie getCookie(String name)
Deprecated.
Returns the named cookie from the HTTP request or `null` 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

@Nullable @Nullable String getResponseContentType()
Deprecated.
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

@NotNull @NotNull Enumeration<String> getResponseContentTypes()
Deprecated.
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

@Nullable @Nullable ResourceBundle getResourceBundle(Locale locale)
Deprecated.
Returns the resource bundle for the given locale.

Parameters:
  `locale` - the locale for which to retrieve the resource bundle. If this is `null`, the locale returned by `ServletRequest.getLocale()` is used to select the resource bundle.
Returns:
  the resource bundle for the given locale

### getResourceBundle

@Nullable @Nullable ResourceBundle getResourceBundle(String baseName, Locale locale)
Deprecated.
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 is `null`, the same resource bundle must be returned as if the `getResourceBundle(Locale)` method is called.
  `locale` - the locale for which to retrieve the resource bundle. If this is `null`, the locale returned by `ServletRequest.getLocale()` is used to select the resource bundle.
Returns:
  the resource bundle for the given locale

### getRequestProgressTracker

@NotNull @NotNull RequestProgressTracker getRequestProgressTracker()
Deprecated.
Returns the `RequestProgressTracker` of this request.

Returns:
  The request progress tracker.

### getUserPrincipal

@Nullable Principal getUserPrincipal()
Deprecated.
Returns a `java.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 interface `javax.servlet.http.HttpServletRequest`
Returns:
  a `java.security.Principal` or `null`.
See Also:
  - `getAuthType()`
  - `getRemoteUser()`

### getAuthType

@Nullable @Nullable String getAuthType()
Deprecated.
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 authenticated `null` is returned.

Specified by:
  `getAuthType` in interface `javax.servlet.http.HttpServletRequest`
Returns:
  the authentication scheme or {code null}
See Also:
  - `getRemoteUser()`
  - `HttpServletRequest.getAuthType()`

### getRemoteUser

@Nullable @Nullable String getRemoteUser()
Deprecated.
Returns the login of the user making this request, if the user has been authenticated, or `null` if the user has not been authenticated.

Specified by:
  `getRemoteUser` in interface `javax.servlet.http.HttpServletRequest`
Returns:
  a `String` specifying the login of the user making this request, or `null`
See Also:
  - `getAuthType()`
  - `HttpServletRequest.getRemoteUser()`