- 04 7月, 2016 5 次提交
-
-
由 Sebastien Deleuze 提交于
-
由 Sebastien Deleuze 提交于
This commit also set Tomcat baseDir to java.io.tmpdir for integration tests in order to avoid creation of temporary directories in the project root.
-
由 Sebastien Deleuze 提交于
Reactor Core + Spring Reactive now handle correctly shorter interval for the stream result test.
-
由 Rossen Stoyanchev 提交于
When using the ConversionService to check and bridge to and from reactive types we now generallly provide the full type information available from method signatures. However that full type information is not always necessary such as when we perform additional checks on the generics of the reactive type (e.g. Mono<ResponseEntity>). This allows us to switch to use DefaultFormattingConversionService instead of GenericConversionService while also ensuring that the CollectionToObjectConverter doesn't think it can convert List<?> to any reactive type. The ObjectToObjectConverter can also interfere because it is smart enough to find the "from(Publisher<?>)" method on Flux and Mono. To make up for that on the response side we now check if a type is assignable to Publisher first in which case it is a simple cast. In turn that means we don't need a PublisherToFluxConverter which can be problematic in its own right because it can convert from Mono to Flux which technically doesn't lose data but switches stream semantics. Issue: #124, #128
-
由 Rossen Stoyanchev 提交于
HandlerAdapter's should always be able to provide a MethodParameter which in turn ensures that HandlerResultHandler's have full type information from method declarations. This commit also introduces ResolvableMethod for use in tests to make it easy to obtain MethodParameter return types. Issue: #128
-
- 02 7月, 2016 6 次提交
-
-
由 Rossen Stoyanchev 提交于
-
由 Rossen Stoyanchev 提交于
This commit ensures stream semantics (Flux vs Mono) are adhered to also on the target side.
-
由 Rossen Stoyanchev 提交于
-
由 Rossen Stoyanchev 提交于
-
由 Sebastien Deleuze 提交于
This commit adds a Decoder#decodeOne() method in order to handle correctly the streaming versus one value deserialization based on the type provided by the user. For example, if a List parameter is provided in a controller method, Jackson will be called once, while if the user provides a Flux or an Observable parameter, Jackson will be called for each element.
-
由 Sebastien Deleuze 提交于
This commit replaces Reactive Streams converters for RxJava1 and CompletableFuture with Reactor specific ones. The results in conversion that preserves stream semantics, i.e. Mono vs Flux. For example this is allowed: Flux -> Observable Mono -> Single Mono -> CompletableFuture This is not allowed: Flux -> Single Mono -> Observable Flux -> CompletableFuture As a result it is now possible to check through the ConversionService if a target type to convert to is a stream of many or of one which is useful for decoding purposes. The commit also adds PublisherToFluxConverter to allow conversion from raw Publisher to Flux. The reverse is not necessary since Flux is a Publisher and it's a no-op conversion.
-
- 01 7月, 2016 6 次提交
-
-
由 Rossen Stoyanchev 提交于
-
由 Rossen Stoyanchev 提交于
The DefaultWebSessionManager now uses Mono.defer to protect the call to getSession from parsing session cookies immediately. This allows pre-initializing the Mono<WebSession> upfront vs using a lock.
-
由 Rossen Stoyanchev 提交于
-
由 Rossen Stoyanchev 提交于
-
由 Rossen Stoyanchev 提交于
-
由 Rossen Stoyanchev 提交于
-
- 30 6月, 2016 9 次提交
-
-
由 Sebastien Deleuze 提交于
-
由 Sebastien Deleuze 提交于
-
由 Arjen Poutsma 提交于
AbstractRequestBodyPublisher.onDataAvailable improvement
-
由 Violeta Georgieva 提交于
When in state DATA_AVAILABLE if there are simultaneous invocations of AbstractRequestBodyPublisher.RequestBodySubscription.request and ReadListener.onDataAvailable, the first one will process the available data, the second one should not throw an exception because thus it will signal to web container that there are problems while there are not.
-
由 Arjen Poutsma 提交于
Refactored Undertow support to register a response listener only when the body is written to, as opposed to registering it at startup. The reason for this is that getting the response channel from the HttpServerExchange commits the status and response, making it impossible to change them after the fact. Fixed issue #119.
-
由 Arjen Poutsma 提交于
Make AbstractResponseBodySubscriber.onWritePossible thread-safe
-
由 Violeta Georgieva 提交于
When there are simultaneous invocations of onWritePossible, only the first one should succeed. This can happens when AbstractResponseBodySubscriber.onNext and WriteListener.onWritePossible() are called respectively by the application and the web container.
-
由 Rossen Stoyanchev 提交于
This is a port of the following commit, adapted for Java 8+: https://github.com/spring-projects/spring-framework/commit/89396ff01ff159aa7df18e332f3888cf9ce3dc20
-
由 Rossen Stoyanchev 提交于
This is a temporary measure for M1 as the dependency will go away once issue #116 is addressed.
-
- 29 6月, 2016 4 次提交
-
-
由 Sebastien Deleuze 提交于
-
由 Sebastien Deleuze 提交于
-
由 Arjen Poutsma 提交于
Make AbstractResponseBodySubscriber.onSubscribe thread-safe
-
由 Violeta Georgieva 提交于
When there are simultaneous invocations of onSubscribe, only the first one should succeed, the rest should cancel the provided subscriptions
-
- 28 6月, 2016 3 次提交
-
-
由 Arjen Poutsma 提交于
Reactored Servlet 3.1 and Undertow request support (AbstractResponseBodySubscriber) to use an internal state machine, making thread-safity a lot easier.
-
由 Arjen Poutsma 提交于
- AbstractResponseBodySubscriber now checks if the current state is expected before changing to a new state. - Included comments by @violetagg
-
由 Sebastien Deleuze 提交于
-
- 27 6月, 2016 4 次提交
-
-
由 Rossen Stoyanchev 提交于
-
由 Rossen Stoyanchev 提交于
-
由 Rossen Stoyanchev 提交于
Currently ResponseEntityResultHandler is ordered lower than ResponseBodyResultHandler by default whch means a ResponseEntity should not be picked by the ResponseBodyResultHandler. However as it is easy to have both ResponseEntity and @ResponseBody e.g. in @RestControler (or even by mistake) and in general it makes sense for ResponseBodyResultHandler to explicitly recognize and ignore the ResponseEntity return type.
-
由 Sebastien Deleuze 提交于
-
- 25 6月, 2016 3 次提交
-
-
由 Rossen Stoyanchev 提交于
We now also check the default content type if the content type is application/octet-stream as we do today. Uncommented failing test that now passes.
-
由 Rossen Stoyanchev 提交于
-
由 Rossen Stoyanchev 提交于
Before this commit only ResponseEntity with async body was supported, e.g. ResponseEntity<Mono<String>> This commit also adds suppport for an asyn wrapper around, e.g. Mono<ResponseEntity<String>.
-