public class ServerRequestWrapper extends java.lang.Object implements ServerRequest
ServerRequest
interface that can be subclassed
to adapt the request in a
handler filter function
.
All methods default to calling through to the wrapped request.Modifier and Type | Class and Description |
---|---|
static class |
ServerRequestWrapper.HeadersWrapper
Implementation of the
Headers interface that can be subclassed
to adapt the headers in a
handler filter function . |
ServerRequest.Headers
Modifier and Type | Field and Description |
---|---|
private ServerRequest |
delegate |
Constructor and Description |
---|
ServerRequestWrapper(ServerRequest delegate)
Create a new
ServerRequestWrapper that wraps the given request. |
Modifier and Type | Method and Description |
---|---|
java.util.Optional<java.lang.Object> |
attribute(java.lang.String name)
Return the request attribute value if present.
|
java.util.Map<java.lang.String,java.lang.Object> |
attributes()
Return a mutable map of request attributes.
|
<T> T |
body(BodyExtractor<T,? super ServerHttpRequest> extractor)
Extract the body with the given
BodyExtractor . |
<T> T |
body(BodyExtractor<T,? super ServerHttpRequest> extractor,
java.util.Map<java.lang.String,java.lang.Object> hints)
Extract the body with the given
BodyExtractor and hints. |
<T> <any> |
bodyToFlux(java.lang.Class<? extends T> elementClass)
Extract the body to a
Flux . |
<T> <any> |
bodyToFlux(ParameterizedTypeReference<T> typeReference)
Extract the body to a
Flux . |
<T> <any> |
bodyToMono(java.lang.Class<? extends T> elementClass)
Extract the body to a
Mono . |
<T> <any> |
bodyToMono(ParameterizedTypeReference<T> typeReference)
Extract the body to a
Mono . |
MultiValueMap<java.lang.String,HttpCookie> |
cookies()
Return the cookies of this request.
|
<any> |
formData()
Return the form data from the body of the request if the Content-Type is
"application/x-www-form-urlencoded" or an empty map otherwise. |
ServerRequest.Headers |
headers()
Return the headers of this request.
|
HttpMethod |
method()
Return the HTTP method.
|
java.lang.String |
methodName()
Return the name of the HTTP method.
|
<any> |
multipartData()
Return the parts of a multipart request if the Content-Type is
"multipart/form-data" or an empty map otherwise. |
java.lang.String |
path()
Return the request path.
|
PathContainer |
pathContainer()
Return the request path as
PathContainer . |
java.lang.String |
pathVariable(java.lang.String name)
Return the path variable with the given name, if present.
|
java.util.Map<java.lang.String,java.lang.String> |
pathVariables()
Return all path variables for this request.
|
<any> |
principal()
Return the authenticated user for the request, if any.
|
java.util.Optional<java.lang.String> |
queryParam(java.lang.String name)
Return the first query parameter with the given name, if present.
|
MultiValueMap<java.lang.String,java.lang.String> |
queryParams()
Return all query parameters for this request.
|
ServerRequest |
request()
Return the wrapped request.
|
<any> |
session()
Return the web session for this request.
|
java.net.URI |
uri()
Return the request URI.
|
UriBuilder |
uriBuilder()
Return a
UriBuilderComponents from the URI associated with this
ServerRequest , while also overlaying with values from the headers
"Forwarded" (RFC 7239),
or "X-Forwarded-Host", "X-Forwarded-Port", and "X-Forwarded-Proto" if
"Forwarded" is not found. |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
create
private final ServerRequest delegate
public ServerRequestWrapper(ServerRequest delegate)
ServerRequestWrapper
that wraps the given request.delegate
- the request to wrappublic ServerRequest request()
public HttpMethod method()
ServerRequest
method
in interface ServerRequest
null
if not resolvable (e.g. in case of a non-standard HTTP method)public java.lang.String methodName()
ServerRequest
methodName
in interface ServerRequest
public java.net.URI uri()
ServerRequest
uri
in interface ServerRequest
public UriBuilder uriBuilder()
ServerRequest
UriBuilderComponents
from the URI associated with this
ServerRequest
, while also overlaying with values from the headers
"Forwarded" (RFC 7239),
or "X-Forwarded-Host", "X-Forwarded-Port", and "X-Forwarded-Proto" if
"Forwarded" is not found.uriBuilder
in interface ServerRequest
public java.lang.String path()
ServerRequest
path
in interface ServerRequest
public PathContainer pathContainer()
ServerRequest
PathContainer
.pathContainer
in interface ServerRequest
public ServerRequest.Headers headers()
ServerRequest
headers
in interface ServerRequest
public MultiValueMap<java.lang.String,HttpCookie> cookies()
ServerRequest
cookies
in interface ServerRequest
public <T> T body(BodyExtractor<T,? super ServerHttpRequest> extractor)
ServerRequest
BodyExtractor
.body
in interface ServerRequest
T
- the type of the body returnedextractor
- the BodyExtractor
that reads from the requestServerRequest.body(BodyExtractor, Map)
public <T> T body(BodyExtractor<T,? super ServerHttpRequest> extractor, java.util.Map<java.lang.String,java.lang.Object> hints)
ServerRequest
BodyExtractor
and hints.body
in interface ServerRequest
T
- the type of the body returnedextractor
- the BodyExtractor
that reads from the requesthints
- the map of hints like Jackson2CodecSupport.JSON_VIEW_HINT
to use to customize body extractionpublic <T> <any> bodyToMono(java.lang.Class<? extends T> elementClass)
ServerRequest
Mono
.bodyToMono
in interface ServerRequest
T
- the element typeelementClass
- the class of element in the Mono
public <T> <any> bodyToMono(ParameterizedTypeReference<T> typeReference)
ServerRequest
Mono
.bodyToMono
in interface ServerRequest
T
- the element typetypeReference
- a type reference describing the expected response request typeT
public <T> <any> bodyToFlux(java.lang.Class<? extends T> elementClass)
ServerRequest
Flux
.bodyToFlux
in interface ServerRequest
T
- the element typeelementClass
- the class of element in the Flux
public <T> <any> bodyToFlux(ParameterizedTypeReference<T> typeReference)
ServerRequest
Flux
.bodyToFlux
in interface ServerRequest
T
- the element typetypeReference
- a type reference describing the expected request body typeT
public java.util.Optional<java.lang.Object> attribute(java.lang.String name)
ServerRequest
attribute
in interface ServerRequest
name
- the attribute namepublic java.util.Map<java.lang.String,java.lang.Object> attributes()
ServerRequest
attributes
in interface ServerRequest
public java.util.Optional<java.lang.String> queryParam(java.lang.String name)
ServerRequest
queryParam
in interface ServerRequest
name
- the parameter namepublic MultiValueMap<java.lang.String,java.lang.String> queryParams()
ServerRequest
queryParams
in interface ServerRequest
public java.lang.String pathVariable(java.lang.String name)
ServerRequest
pathVariable
in interface ServerRequest
name
- the variable namepublic java.util.Map<java.lang.String,java.lang.String> pathVariables()
ServerRequest
pathVariables
in interface ServerRequest
public <any> session()
ServerRequest
session
in interface ServerRequest
public <any> principal()
ServerRequest
principal
in interface ServerRequest
public <any> formData()
ServerRequest
"application/x-www-form-urlencoded"
or an empty map otherwise.
Note: calling this method causes the request body to
be read and parsed in full and the resulting MultiValueMap
is
cached so that this method is safe to call more than once.
formData
in interface ServerRequest
public <any> multipartData()
ServerRequest
"multipart/form-data"
or an empty map otherwise.
Note: calling this method causes the request body to
be read and parsed in full and the resulting MultiValueMap
is
cached so that this method is safe to call more than once.
multipartData
in interface ServerRequest