Class AbstractClientHttpRequest
java.lang.Object
org.springframework.http.client.reactive.AbstractClientHttpRequest
- All Implemented Interfaces:
ClientHttpRequest
,HttpMessage
,ReactiveHttpOutputMessage
- Direct Known Subclasses:
MockClientHttpRequest
Base class for
ClientHttpRequest
implementations.- Since:
- 5.0
- Author:
- Rossen Stoyanchev, Brian Clozel
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
Add attributes fromgetAttributes()
to the underlying request.protected abstract void
Add cookies fromgetHeaders()
to the underlying request.protected abstract void
Apply header changes fromgetHeaders()
to the underlying request.void
beforeCommit
(Supplier<? extends reactor.core.publisher.Mono<Void>> action) Register an action to apply just before the HttpOutputMessage is committed.protected reactor.core.publisher.Mono<Void>
doCommit()
A variant ofdoCommit(Supplier)
for a request without body.protected reactor.core.publisher.Mono<Void>
ApplybeforeCommit
actions, apply the request headers/cookies, and write the request body.Return a mutable map of the request attributes.Return a mutable map of request cookies to send to the server.Return the headers of this message.protected HttpHeaders
Initialize the read-only headers after the request is committed.boolean
Whether the HttpOutputMessage is committed.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.client.reactive.ClientHttpRequest
getMethod, getNativeRequest, getURI
Methods inherited from interface org.springframework.http.ReactiveHttpOutputMessage
bufferFactory, setComplete, writeAndFlushWith, writeWith
-
Constructor Details
-
AbstractClientHttpRequest
public AbstractClientHttpRequest() -
AbstractClientHttpRequest
-
-
Method Details
-
getHeaders
Description copied from interface:HttpMessage
Return the headers of this message.- Specified by:
getHeaders
in interfaceHttpMessage
- Returns:
- a corresponding HttpHeaders object (never
null
)
-
initReadOnlyHeaders
Initialize the read-only headers after the request is committed.By default, this method simply applies a read-only wrapper. Subclasses can do the same for headers from the native request.
- Since:
- 5.3.15
-
getCookies
Description copied from interface:ClientHttpRequest
Return a mutable map of request cookies to send to the server.- Specified by:
getCookies
in interfaceClientHttpRequest
-
getAttributes
Description copied from interface:ClientHttpRequest
Return a mutable map of the request attributes.- Specified by:
getAttributes
in interfaceClientHttpRequest
-
beforeCommit
Description copied from interface:ReactiveHttpOutputMessage
Register an action to apply just before the HttpOutputMessage is committed.Note: the supplied action must be properly deferred, e.g. via
Mono.defer(java.util.function.Supplier<? extends reactor.core.publisher.Mono<? extends T>>)
orMono.fromRunnable(java.lang.Runnable)
, to ensure it's executed in the right order, relative to other actions.- Specified by:
beforeCommit
in interfaceReactiveHttpOutputMessage
- Parameters:
action
- the action to apply
-
isCommitted
public boolean isCommitted()Description copied from interface:ReactiveHttpOutputMessage
Whether the HttpOutputMessage is committed.- Specified by:
isCommitted
in interfaceReactiveHttpOutputMessage
-
doCommit
A variant ofdoCommit(Supplier)
for a request without body.- Returns:
- a completion publisher
-
doCommit
protected reactor.core.publisher.Mono<Void> doCommit(@Nullable Supplier<? extends Publisher<Void>> writeAction) ApplybeforeCommit
actions, apply the request headers/cookies, and write the request body.- Parameters:
writeAction
- the action to write the request body (may benull
)- Returns:
- a completion publisher
-
applyHeaders
protected abstract void applyHeaders()Apply header changes fromgetHeaders()
to the underlying request. This method is called once only. -
applyCookies
protected abstract void applyCookies()Add cookies fromgetHeaders()
to the underlying request. This method is called once only. -
applyAttributes
protected void applyAttributes()Add attributes fromgetAttributes()
to the underlying request. This method is called once only.- Since:
- 6.2
-