public class MockServerRequest extends Object implements ServerRequest
ServerRequest
.Modifier and Type | Class and Description |
---|---|
static interface |
MockServerRequest.Builder
Builder for
MockServerRequest . |
ServerRequest.Headers
Modifier and Type | Method and Description |
---|---|
Map<String,Object> |
attributes()
Get a mutable map of request attributes.
|
<S> S |
body(BodyExtractor<S,? super ServerHttpRequest> extractor)
Extract the body with the given
BodyExtractor . |
<S> S |
body(BodyExtractor<S,? super ServerHttpRequest> extractor,
Map<String,Object> hints)
Extract the body with the given
BodyExtractor and hints. |
<S> reactor.core.publisher.Flux<S> |
bodyToFlux(Class<? extends S> elementClass)
Extract the body to a
Flux . |
<S> reactor.core.publisher.Flux<S> |
bodyToFlux(ParameterizedTypeReference<S> typeReference)
Extract the body to a
Flux . |
<S> reactor.core.publisher.Mono<S> |
bodyToMono(Class<? extends S> elementClass)
Extract the body to a
Mono . |
<S> reactor.core.publisher.Mono<S> |
bodyToMono(ParameterizedTypeReference<S> typeReference)
Extract the body to a
Mono . |
static MockServerRequest.Builder |
builder() |
MultiValueMap<String,HttpCookie> |
cookies()
Get the cookies of this request.
|
reactor.core.publisher.Mono<MultiValueMap<String,String>> |
formData()
Get 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()
Get the headers of this request.
|
HttpMethod |
method()
Get the HTTP method.
|
String |
methodName()
Get the name of the HTTP method.
|
reactor.core.publisher.Mono<MultiValueMap<String,Part>> |
multipartData()
Get the parts of a multipart request if the Content-Type is
"multipart/form-data" or an empty map otherwise. |
PathContainer |
pathContainer()
Get the request path as a
PathContainer . |
Map<String,String> |
pathVariables()
Get all path variables for this request.
|
reactor.core.publisher.Mono<? extends Principal> |
principal()
Get the authenticated user for the request, if any.
|
MultiValueMap<String,String> |
queryParams()
Get all query parameters for this request.
|
reactor.core.publisher.Mono<WebSession> |
session()
Get the web session for this request.
|
URI |
uri()
Get the request URI.
|
UriBuilder |
uriBuilder()
Get 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
attribute, create, path, pathVariable, queryParam
public HttpMethod method()
ServerRequest
method
in interface ServerRequest
null
if not resolvable (e.g. in case of a non-standard HTTP method)public String methodName()
ServerRequest
methodName
in interface ServerRequest
public 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 PathContainer pathContainer()
ServerRequest
PathContainer
.pathContainer
in interface ServerRequest
public ServerRequest.Headers headers()
ServerRequest
headers
in interface ServerRequest
public MultiValueMap<String,HttpCookie> cookies()
ServerRequest
cookies
in interface ServerRequest
public <S> S body(BodyExtractor<S,? super ServerHttpRequest> extractor)
ServerRequest
BodyExtractor
.body
in interface ServerRequest
S
- the type of the body returnedextractor
- the BodyExtractor
that reads from the requestServerRequest.body(BodyExtractor, Map)
public <S> S body(BodyExtractor<S,? super ServerHttpRequest> extractor, Map<String,Object> hints)
ServerRequest
BodyExtractor
and hints.body
in interface ServerRequest
S
- 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 <S> reactor.core.publisher.Mono<S> bodyToMono(Class<? extends S> elementClass)
ServerRequest
Mono
.bodyToMono
in interface ServerRequest
S
- the element typeelementClass
- the class of element in the Mono
public <S> reactor.core.publisher.Mono<S> bodyToMono(ParameterizedTypeReference<S> typeReference)
ServerRequest
Mono
.bodyToMono
in interface ServerRequest
S
- the element typetypeReference
- a type reference describing the expected response request typeT
public <S> reactor.core.publisher.Flux<S> bodyToFlux(Class<? extends S> elementClass)
ServerRequest
Flux
.bodyToFlux
in interface ServerRequest
S
- the element typeelementClass
- the class of element in the Flux
public <S> reactor.core.publisher.Flux<S> bodyToFlux(ParameterizedTypeReference<S> typeReference)
ServerRequest
Flux
.bodyToFlux
in interface ServerRequest
S
- the element typetypeReference
- a type reference describing the expected request body typeT
public Map<String,Object> attributes()
ServerRequest
attributes
in interface ServerRequest
public MultiValueMap<String,String> queryParams()
ServerRequest
queryParams
in interface ServerRequest
public Map<String,String> pathVariables()
ServerRequest
pathVariables
in interface ServerRequest
public reactor.core.publisher.Mono<WebSession> session()
ServerRequest
Always guaranteed to return an instance either matching the session id requested by the client, or with a new session id either because the client did not specify one or because the underlying session had expired.
Use of this method does not automatically create a session.
session
in interface ServerRequest
public reactor.core.publisher.Mono<? extends Principal> principal()
ServerRequest
principal
in interface ServerRequest
public reactor.core.publisher.Mono<MultiValueMap<String,String>> 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 reactor.core.publisher.Mono<MultiValueMap<String,Part>> 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
public static MockServerRequest.Builder builder()