1. 01 9月, 2016 1 次提交
    • A
      Refactored SseEvent to ServerSentEvent · 16b525f6
      Arjen Poutsma 提交于
       - Renamed SseEvent to ServerSentEvent to make the name less redundant.
       - ServerSentEvent is now immutable, having a builder to create new instances.
       - Realigned the class properties to more closely match the events
         described in the spec, so that `reconnectTime` becomes `retry`, and
         `name` becomes `event`.
      16b525f6
  2. 28 7月, 2016 1 次提交
    • R
      Remove SimpleResultHandler · 79bc227c
      Rossen Stoyanchev 提交于
      There is really no need for a result handler dedicated to a void
      return value and it's actually problematic to have it.
      
      Each result handler treats void as necessary. For an @ResponseBody
      method it means an empty body. For view resolution it means no specific
      value was returned and we should procede with selecting a default view
      name. Having a dedicated void result handler can interfere with this
      especially since view resolution needs to be last in order.
      
      At the same time there are cases when no result handling is needed
      and the response is fully handled within the HandlerAdapter. This is
      the case with WebHandler and the SimpleHandlerAdapter. For that case
      we simply return mono.then(aVoid -> Mono.empty()) which effectively
      returns an empty Mono and no result handling follows. The
      HandlerAdapter already says you can return no values at all if the
      response is fully handled.
      79bc227c
  3. 26 7月, 2016 1 次提交
  4. 23 7月, 2016 3 次提交
  5. 21 7月, 2016 1 次提交
  6. 20 7月, 2016 1 次提交
  7. 19 7月, 2016 1 次提交
  8. 16 7月, 2016 1 次提交
  9. 15 7月, 2016 1 次提交
  10. 08 7月, 2016 1 次提交
  11. 04 7月, 2016 1 次提交
    • R
      Provide rich type information to ConversionService · 8c765814
      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
      8c765814
  12. 02 7月, 2016 1 次提交
    • S
      Refactor reactive type conversion support · 12d7b781
      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.
      12d7b781
  13. 01 7月, 2016 1 次提交
  14. 30 6月, 2016 1 次提交
  15. 29 6月, 2016 1 次提交
  16. 28 6月, 2016 1 次提交
  17. 22 6月, 2016 1 次提交
  18. 11 6月, 2016 1 次提交
  19. 07 6月, 2016 1 次提交
  20. 06 6月, 2016 1 次提交