Skip to content

Reactive client and server HTTP adapters [SPR-14152] #18724

@spring-projects-issues

Description

@spring-projects-issues

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:

Metadata

Metadata

Assignees

Labels

in: webIssues in web modules (web, webmvc, webflux, websocket)type: enhancementA general enhancement

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions