-
Notifications
You must be signed in to change notification settings - Fork 38.6k
Description
Rossen Stoyanchev opened SPR-14152 and commented
At present org.springframework.http
contains client and server HTTP abstractions that expose request and response content as java.io.InputStream
or java.io.OutputStream
.
We need reactive, non-blocking alternative abstractions with input and output exposed through Reactive Streams. Given the choice to use Project Reactor for Reactive Streams support internally, input can be exposed as a Reactor Flux
while output can be provided as a plain Reactive Streams Publisher
which could be Flux
or any Reactive Streams Publisher
.
For server side HTTP support, a new HttpHandler
accepting the reactive request and response represents Spring’s lowest level abstraction for HTTP runtimes with Reactive Streams support. To adapt runtimes would require an HttpHandler
and corresponding request and response adapters. Initial built-in support is for Servlet 3.1+ containers, Netty-based Reactor IO, RxNetty, and Undertow.
The built-in options on the client side is for Netty-based Reactor IO and RxNetty.
Affects: 4.2.5
Issue Links:
- Reactive server web support [SPR-14153] #18725 Reactive server web support ("is depended on by")
- Reactive Web client [SPR-14154] #18726 Reactive Web client ("is depended on by")
- Reactive web module [SPR-14161] #18733 Reactive web module ("is depended on by")