Class AbstractServerHttpRequest
java.lang.Object
org.springframework.http.server.reactive.AbstractServerHttpRequest
- All Implemented Interfaces:
HttpMessage
,HttpRequest
,ReactiveHttpInputMessage
,ServerHttpRequest
- Direct Known Subclasses:
MockServerHttpRequest
Common base class for
ServerHttpRequest
implementations.- Since:
- 5.0
- Author:
- Rossen Stoyanchev
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.springframework.http.server.reactive.ServerHttpRequest
ServerHttpRequest.Builder
-
Constructor Summary
ConstructorDescriptionAbstractServerHttpRequest
(HttpMethod method, URI uri, String contextPath, MultiValueMap<String, String> headers) Constructor with the method, URI and headers for the request. -
Method Summary
Modifier and TypeMethodDescriptionReturn a read-only map of cookies sent by the client.Return the headers of this message.getId()
Return an id that represents the underlying connection, if available, or the request for the purpose of correlating log messages.Return the HTTP method of the request.abstract <T> T
Return the underlying server response.getPath()
Returns a structured representation of the full request path up to but not including thequery
.Return a read-only map with parsed and decoded query parameter values.Return the SSL session information if the request has been transmitted over a secure protocol including SSL certificates, if available.getURI()
Return the URI of the request (including a query string if any, but only if it is well-formed for a URI representation).protected abstract MultiValueMap<String,
HttpCookie> Obtain the cookies from the underlying "native" request and adapt those to anHttpCookie
map.protected String
initId()
Obtain the request id to use, ornull
in which case the Object identity of this request instance is used.protected String
Subclasses can override this to provide the prefix to use for log messages.protected MultiValueMap<String,
String> A method for parsing of the query into name-value pairs.protected abstract SslInfo
Obtain SSL session information from the underlying "native" request.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.springframework.http.ReactiveHttpInputMessage
getBody
Methods inherited from interface org.springframework.http.server.reactive.ServerHttpRequest
getLocalAddress, getRemoteAddress, mutate
-
Constructor Details
-
AbstractServerHttpRequest
public AbstractServerHttpRequest(HttpMethod method, URI uri, @Nullable String contextPath, MultiValueMap<String, String> headers) Constructor with the method, URI and headers for the request.- Parameters:
method
- the HTTP method for the requesturi
- the URI for the requestcontextPath
- the context path for the requestheaders
- the headers for the request (asMultiValueMap
)- Since:
- 6.0.8
-
-
Method Details
-
getId
Description copied from interface:ServerHttpRequest
Return an id that represents the underlying connection, if available, or the request for the purpose of correlating log messages.- Specified by:
getId
in interfaceServerHttpRequest
- See Also:
-
initId
Obtain the request id to use, ornull
in which case the Object identity of this request instance is used.- Since:
- 5.1
-
getMethod
Description copied from interface:HttpRequest
Return the HTTP method of the request.- Specified by:
getMethod
in interfaceHttpRequest
- Returns:
- the HTTP method as an HttpMethod value
- See Also:
-
getURI
Description copied from interface:HttpRequest
Return the URI of the request (including a query string if any, but only if it is well-formed for a URI representation).- Specified by:
getURI
in interfaceHttpRequest
- Returns:
- the URI of the request (never
null
)
-
getPath
Description copied from interface:ServerHttpRequest
Returns a structured representation of the full request path up to but not including thequery
.The returned path is subdivided into a
RequestPath.contextPath()
portion and the remainingpathWithinApplication
portion. The latter can be passed into methods ofPathPattern
for path matching purposes.- Specified by:
getPath
in interfaceServerHttpRequest
-
getHeaders
Description copied from interface:HttpMessage
Return the headers of this message.- Specified by:
getHeaders
in interfaceHttpMessage
- Returns:
- a corresponding HttpHeaders object (never
null
)
-
getQueryParams
Description copied from interface:ServerHttpRequest
Return a read-only map with parsed and decoded query parameter values.- Specified by:
getQueryParams
in interfaceServerHttpRequest
-
initQueryParams
A method for parsing of the query into name-value pairs. The return value is turned into an immutable map and cached.Note that this method is invoked lazily on first access to
getQueryParams()
. The invocation is not synchronized but the parsing is thread-safe nevertheless. -
getCookies
Description copied from interface:ServerHttpRequest
Return a read-only map of cookies sent by the client.- Specified by:
getCookies
in interfaceServerHttpRequest
-
initCookies
Obtain the cookies from the underlying "native" request and adapt those to anHttpCookie
map. The return value is turned into an immutable map and cached.Note that this method is invoked lazily on access to
getCookies()
. Subclasses should synchronize cookie initialization if the underlying "native" request does not provide thread-safe access to cookie data. -
getSslInfo
Description copied from interface:ServerHttpRequest
Return the SSL session information if the request has been transmitted over a secure protocol including SSL certificates, if available.- Specified by:
getSslInfo
in interfaceServerHttpRequest
- Returns:
- the session information, or
null
if none available
-
initSslInfo
Obtain SSL session information from the underlying "native" request.- Returns:
- the session information, or
null
if none available - Since:
- 5.0.2
-
getNativeRequest
public abstract <T> T getNativeRequest()Return the underlying server response.Note: This is exposed mainly for internal framework use such as WebSocket upgrades in the spring-webflux module.
-
initLogPrefix
Subclasses can override this to provide the prefix to use for log messages.By default, this is
getId()
.- Since:
- 5.3.15
-