- 20 1月, 2016 3 次提交
-
-
由 Stephane Maldini 提交于
-
由 Stephane Maldini 提交于
-
由 Stephane Maldini 提交于
-
- 15 1月, 2016 4 次提交
-
-
由 Sebastien Deleuze 提交于
-
由 Sebastien Deleuze 提交于
-
由 Sebastien Deleuze 提交于
-
由 Sebastien Deleuze 提交于
-
- 14 1月, 2016 9 次提交
-
-
由 Sebastien Deleuze 提交于
-
由 Sebastien Deleuze 提交于
-
由 Sebastien Deleuze 提交于
-
由 Stephane Maldini 提交于
-
由 Sebastien Deleuze 提交于
-
由 Stephane Maldini 提交于
-
由 Stephane Maldini 提交于
-
由 Rossen Stoyanchev 提交于
-
由 Rossen Stoyanchev 提交于
Before this change use of ExceptionHandlingWebHandler did ensure no error signals are allowed to escape (hence relying on runtime behavior). This change ensures the same is done even when ExceptionHandlingWebHandler is not configured for use, at the lowest level which is the WebToHttpHandlerAdapter.
-
- 13 1月, 2016 1 次提交
-
-
由 Brian Clozel 提交于
When decoding buffers as plain strings, the StringDecoder returns a Publisher that may produce one or more `onNext` events. This is perfectly valid, but leads to errors when trying to convert the resulting Publisher into a `reactor.Mono` or `rx.Single`. If the original Publisher emits 2 or more `onNext` signals, converting to: * `rx.Single` will throw an error saying that the underlying Observable "emitted too many elements" * `reactor.Mono` may contain only the first emitted element This commit adds a `AbstractRawByteStreamDecoder` that takes a `SubscriberBarrier` to apply splitting/aggregation operations on the received elements. The `StringDecoder` class now inherits from this abstract class and uses one of the provided `SubscriberBarrier` implementations to buffer all received elements in a single buffer.
-
- 12 1月, 2016 3 次提交
-
-
由 Sebastien Deleuze 提交于
-
由 Sebastien Deleuze 提交于
Before this commit, a handler method returning a stream with a JSON content-type was producing a JSON object for single element streams or a JSON array for multiple elements streams. This kind of dynamic change of the output based on the number of elements was difficult to handle on client side and not consistent with Spring MVC behavior. With this commit, we achieve a more consistent behavior by using the Mono semantics to control this behavior. Mono (and Promise/Single) are serialized to JSON object and Flux (and Observable/Stream) are serialized to JSON array.
-
由 Rossen Stoyanchev 提交于
HttpCookie is now immutable with factory methods to create a client cookie (name-value) vs a server cookie (name-value + attributes) including a builder for the latter.
-
- 11 1月, 2016 3 次提交
-
-
由 Sebastien Deleuze 提交于
-
由 Rossen Stoyanchev 提交于
-
由 Rossen Stoyanchev 提交于
-
- 10 1月, 2016 1 次提交
-
-
由 Rossen Stoyanchev 提交于
This commit brings back the writeHeaders method on ServerHttpResponse that was once added (2a6a4f) and then removed (9c7151). This version is a little simpler since writeHeaders doesn't explicitly flush/send headers which runtimes are expected to do by default. Instead the main purpose of writeHeaders now is to ensure changes made via HttpHeaders are applied to the underlying runtime response at some point and we now do that once at the very end. This approach provides the most flexibility (vs keeping HttpHeaders in sync) because it allows a full and consistent set of mutative operations for both headers and cookies (to be added) regardless of the API exposed by the underlying runtime.
-
- 09 1月, 2016 2 次提交
-
-
由 Rossen Stoyanchev 提交于
This change adds a WebServerExchange and updates all contracts at the the same level (i.e. org.springframework.web.server) as well as the org.springframework.web.reactive level to use it so that all framework-related code will have access to server-side processing features such as request attributes (and others to come).
-
由 Rossen Stoyanchev 提交于
This change separates out lower-level HTTP adapter code from the more (framework-specific) HTTP processing into a separate package under org.springframework.web.server (not under org.springframework.http).
-
- 08 1月, 2016 7 次提交
-
-
由 Stephane Maldini 提交于
-
由 Stephane Maldini 提交于
-
由 Rossen Stoyanchev 提交于
Refine exception handling responsibilities between the DispatcherHandler and the HandlerAdapter.
-
由 Stephane Maldini 提交于
-
由 Rossen Stoyanchev 提交于
-
由 Rossen Stoyanchev 提交于
-
由 Rossen Stoyanchev 提交于
This reverts commit d5e6f70483d4a6c8af3cc5e97e52a54e98199169.
-
- 07 1月, 2016 3 次提交
-
-
由 Sebastien Deleuze 提交于
-
由 Sebastien Deleuze 提交于
-
由 Sebastien Deleuze 提交于
Flux and Mono are used both for implementation and exposed at API level to express 1 versus N semantic and to provide default Rx operators: - Flux<T> for multiple values Publisher (issue #48) - Mono<T> for single value Publisher (issue #50) - Mono<Void> for Publisher with no value (issue #49)
-
- 01 1月, 2016 3 次提交
-
-
由 Rossen Stoyanchev 提交于
For those runtimes that don't directly support Reacitve Streams this commit separates more formally Reactive Streams bridge code out of the request and response implementations which become simple adapters to the ServerHttpRequest/Response contracts like their RxNetty and Reactor Net counterparts.
-
由 Rossen Stoyanchev 提交于
- 30 12月, 2015 1 次提交
-
-
由 Rossen Stoyanchev 提交于
ServerHttpResponse implementations now immediately propagate HttpHeaders changes as they so there is no need to call applyHeaders(). The writeHeaders from ServerHttpResponse is also removed. RxNetty and Reactor Net both support implicitly completing if the handler completes without explicitly writing the headers or the response body.
-