- 08 7月, 2016 1 次提交
-
-
由 Rossen Stoyanchev 提交于
The RequestBodyArgumentResolver has been refactored to have a shared base class and tests with the new HttpEntityMethodArgumentResolver. An HttpEntity argument is not expected to have an async wrapper because the request headers are available immediately. The body however can be asynchronous, e.g. HttpEntity<Flux<String>>.
-
- 07 7月, 2016 2 次提交
-
-
由 Rossen Stoyanchev 提交于
-
由 Rossen Stoyanchev 提交于
-
- 04 7月, 2016 1 次提交
-
-
由 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
-
- 02 7月, 2016 3 次提交
-
-
由 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.
-
- 11 6月, 2016 2 次提交
-
-
由 Rossen Stoyanchev 提交于
-
由 Rossen Stoyanchev 提交于
-
- 09 6月, 2016 1 次提交
-
-
由 Rossen Stoyanchev 提交于
-
- 08 6月, 2016 1 次提交
-
-
由 Rossen Stoyanchev 提交于
-
- 07 6月, 2016 1 次提交
-
-
由 Rossen Stoyanchev 提交于
-
- 20 4月, 2016 1 次提交
-
-
由 Arjen Poutsma 提交于
This commit wraps up the previous commits: - It uses HttpMessageConverter in the web.reactive.server package instead of Encoder/Decoder. - It introduces tests for the Resource @ResponseBodies.
-
- 15 4月, 2016 1 次提交
-
-
由 Rossen Stoyanchev 提交于
The new package is parallel to the "mvc" package under spring-webmvc and a place to hold the various programming model styles.
-
- 09 2月, 2016 1 次提交
-
-
由 Rossen Stoyanchev 提交于
A model is created and passed to argument resolvers including a new ModelArgumentResolver. The model is then exposed for result handling as a field in HandlerResult.
-
- 28 1月, 2016 1 次提交
-
-
由 Rossen Stoyanchev 提交于
WebServerExchange -> ServerWebExchange Follows the same convention as in the http package also better allowing the possibility for a client equivalent in the future. WebToHttpHandlerBuilder -> WebHttpHandlerBuilder WebToHttpHandlerAdapter -> WebHttpHandlerAdapter More consistent with Spring conventions.
-
- 27 1月, 2016 1 次提交
-
-
由 Arjen Poutsma 提交于
-
- 20 1月, 2016 1 次提交
-
-
由 Stephane Maldini 提交于
-> reactor.Mono : reactor.core.publisher.Mono -> reactor.Flux : reactor.core.publisher.Flux -> reactor.Processors : reactor.core.publisher.Processors -> reactor.Timers : reactor.core.timer.Timers -> reactor.Subscribers : reactor.core.subscriber.Subscribers
-
- 11 1月, 2016 1 次提交
-
-
由 Sebastien Deleuze 提交于
-
- 09 1月, 2016 1 次提交
-
-
由 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).
-
- 08 1月, 2016 1 次提交
-
-
由 Rossen Stoyanchev 提交于
-
- 07 1月, 2016 1 次提交
-
-
由 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)
-
- 03 12月, 2015 1 次提交
-
-
由 Rossen Stoyanchev 提交于
-
- 23 11月, 2015 1 次提交
-
-
由 Rossen Stoyanchev 提交于
reactive.codec -> core.codec reactive.io -> util These may very well not be the final locations. For now they simply express that there are classes that belong somewhere in core, i.e. they are lower level dependencies than web.
-
- 14 11月, 2015 4 次提交
-
-
由 Rossen Stoyanchev 提交于
The web related code is now under org.springframework.web.reactive. This is parallel to org.springframework.web (the top-level package of spring-webmvc).
-
由 Rossen Stoyanchev 提交于
"Content-Type" is just a single MediaType. For the response, the MediaType must be fully selected before selecting and encoder. The ResponseBodyResultHandler now includes actual content negotiation with a potential 406 response.
-
由 Rossen Stoyanchev 提交于
-
由 Sebastien Deleuze 提交于
This commit introduces the following changes: - MessageToByteEncoder/Decoder renamed to Encoder/Decoder - JsonObjectEncoder/Decoder are now used directly in JacksonJsonEncoder/Decoder - Codec uses MimeType instead of MediaType since they are not specific to HTTP - Default MimeType are now managed thanks to Encoder/Decoder#getSupportedMimeTypes() - AbstractEncoder/Decoder takes care of generic MimeType related behavior
-
- 31 10月, 2015 3 次提交
-
-
由 Rossen Stoyanchev 提交于
-
由 Rossen Stoyanchev 提交于
-
- 30 10月, 2015 1 次提交
-
-
由 Arjen Poutsma 提交于
-
- 29 10月, 2015 2 次提交
-
-
由 Arjen Poutsma 提交于
This commit introduces "reactive" sub-interfaces of the HttpMessage interface found in the Spring Framework.
-
由 Sebastien Deleuze 提交于
This commit introduces the following changes: - Publisher -> Observable/Stream/etc. conversion is now managed in a dedicated ConversionService instead of directly in RequestBodyArgumentResolver and ResponseBodyResultHandler - More isolated logic that decides if the stream should be serialized as a JSON array or not - Publisher<ByteBuffer> are now handled by regular ByteBufferEncoder and ByteBufferDecoder - Handle Publisher<Void> return value properly - Ensure that the headers are properly written even for response without body - Improve JsonObjectEncoder to autodetect JSON arrays
-
- 19 10月, 2015 1 次提交
-
-
由 Sebastien Deleuze 提交于
No need for rxjava-reactive-streams dependency and CompletableFutureUtils anymore.
-
- 07 10月, 2015 1 次提交
-
-
由 Stephane Maldini 提交于
Replace Streams fail, empty and Stream map with Publishers.error, empty and map. Replace Streams calls by Publishers.flatMap, just and Publishers.from Precise cancel and size to toReadQueue to simulate Promise Update build
-
- 25 9月, 2015 1 次提交
-
-
由 Sebastien Deleuze 提交于
-
- 22 9月, 2015 1 次提交
-
-
由 Sebastien Deleuze 提交于
-
- 10 9月, 2015 1 次提交
-
-
由 Sebastien Deleuze 提交于
This commit adds support for Publisher based codecs that allows to convert byte stream to object stream and vice & versa. Jackson, JAXB2 and String codec implementations are provided.
-