1. 08 2月, 2018 1 次提交
  2. 02 2月, 2018 1 次提交
  3. 23 11月, 2017 2 次提交
    • R
      Polish and improve logging · c1b191ed
      Rossen Stoyanchev 提交于
      c1b191ed
    • R
      Avoid resume-suspend race condition · afdca285
      Rossen Stoyanchev 提交于
      This commit turns suspendReading() into a readingPaused() notification
      that is invoked after a succession of reads stops because there is no
      more demand. Sub-classes can use this notification to suspend, if that
      applies to them.
      
      Most importantly the notification is guaranteed not to overlap with
      checkOnDataAvailable() which means that suspend does not need to be
      atomic and guarded against resume. The two can and do compete all the
      time when reading ends with no demand, and a request for demand arrives
      concurrently.
      
      Issue: SPR-16207
      afdca285
  4. 16 11月, 2017 1 次提交
    • V
      UndertowServerHttpRequest: suspend reading when no demand · 0fbfa643
      Violeta Georgieva 提交于
      - When there is no demand for reading, the implementation
      should suspend reading otherwise useless events will be
      send by Undertow to the registered read listener.
      - There is not need to wait for an event for reading/writing after calling
      resumeReads/resumeWrites
      0fbfa643
  5. 11 11月, 2017 1 次提交
  6. 30 10月, 2017 1 次提交
    • A
      Proper Undertow PooledByteBuffer release · 49787493
      Arjen Poutsma 提交于
      This commit changes the way Undertow's PooledByteBuffers are dealt with.
      Previously, these buffers where closed as soon as all data was read. As
      of this commit, the UndertowServerHttpRequest returns PooledDataBuffers
      from getBody(), so that the buffers are released when release() is
      called.
      49787493
  7. 30 9月, 2017 1 次提交
    • R
      Package private request and response implementations · 223e27d5
      Rossen Stoyanchev 提交于
      Concrete server and client, reactive request and response
      implementations should not have to be accessed outside their package.
      They could be seen as private to their HttpHandler adapters and
      ClientHttpConnector's respectively.
      
      The one exception, WebSocket upgrades in spring-webflux, is an internal
      framework use case, accommodated via downcast + accessors in the
      abstract base classes.
      223e27d5
  8. 17 8月, 2017 1 次提交
  9. 30 6月, 2017 1 次提交
  10. 12 6月, 2017 1 次提交
  11. 07 6月, 2017 1 次提交
    • J
      Consistent use of @Nullable across the codebase (even for internals) · f813712f
      Juergen Hoeller 提交于
      Beyond just formally declaring the current behavior, this revision actually enforces non-null behavior in selected signatures now, not tolerating null values anymore when not explicitly documented. It also changes some utility methods with historic null-in/null-out tolerance towards enforced non-null return values, making them a proper citizen in non-null assignments.
      
      Some issues are left as to-do: in particular a thorough revision of spring-test, and a few tests with unclear failures (ignored as "TODO: NULLABLE") to be sorted out in a follow-up commit.
      
      Issue: SPR-15540
      f813712f
  12. 01 6月, 2017 1 次提交
  13. 24 5月, 2017 2 次提交
  14. 09 2月, 2017 1 次提交
  15. 01 2月, 2017 1 次提交
  16. 18 1月, 2017 1 次提交
    • R
      Support encoded query string in reactive requests · 9819558c
      Rossen Stoyanchev 提交于
      In addition to the updates from PR#1297 this commit adds an integration
      test and fixes for the resulting failures with RxNetty, Reactor Netty,
      and Undertow.
      
      Also replaced use of URLDecoder which is not for decoding URIs with use
      of UriUtils for decoding query parameters.
      
      Issue: SPR-15140
      9819558c
  17. 17 1月, 2017 1 次提交
  18. 15 12月, 2016 3 次提交
  19. 13 12月, 2016 2 次提交
  20. 22 10月, 2016 1 次提交
    • R
      Thread-safe reactive ServerHttpRequest · e3673d43
      Rossen Stoyanchev 提交于
      This commit replaces the lazy URI and headers initialization in the
      reactive ServerHttpRequest in favor of eager initialization at
      construction time. Both the URI and headers are nearly guaranteed to
      be accessed for every request (URI for application path, headers for
      "Origin" header).
      
      Query params are still lazily parsed but parsing is idemptotent and
      in the unlikely case of concurrent access (it's the framework that
      typically accesses query params) it maybe parsed twice but should
      be side effect free still.
      
      Cookies are also parsed lazily and since we delegate to the "native"
      request, it depends on the underlying runtime whether synchronization
      is needed. This commit adds synchronization for the HttpServletRequest.
      At present RxNetty, Reactor, and Undertow implementations provide
      thread-safe access to cookies.
      e3673d43
  21. 19 7月, 2016 1 次提交
  22. 15 7月, 2016 2 次提交
  23. 13 7月, 2016 1 次提交
  24. 08 7月, 2016 1 次提交
  25. 30 6月, 2016 1 次提交
    • A
      Allow to set response status on Undertow · 1d48e7c5
      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.
      1d48e7c5
  26. 16 4月, 2016 1 次提交
    • R
      Polish ServerHttpRequest · 09c57118
      Rossen Stoyanchev 提交于
      Consistent initialization of HttpHeaders and the cookies map.
       - allow sub-classes to create instance
       - make unmodifiable
      09c57118
  27. 04 3月, 2016 1 次提交
    • R
      Refactor HTTP Cookie support · dbc6478b
      Rossen Stoyanchev 提交于
      There is now an HttpCookie (simple name-value pair) and separately a
      ServerHttpCookie sub-class with additional attributes that a server
      can send to clients.
      
      HttpHeaders is no longer the place to access cookies. Instead there is
      a read-only HttpCookie map on ServerHttpRequest and a mutable
      ServerHttpCookie map on ServerHttpResponse.
      
      Cookies are stored in a map that preserves their order.
      dbc6478b
  28. 27 1月, 2016 1 次提交
  29. 20 1月, 2016 1 次提交
    • S
      demote cyclic dependency under reactor-core reactor package · 198e3164
      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
      198e3164
  30. 12 1月, 2016 1 次提交
    • R
      Polish cookie support · c3cde84e
      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.
      c3cde84e
  31. 11 1月, 2016 2 次提交
  32. 07 1月, 2016 1 次提交
    • S
      Use Reactor 2.5 Flux and Mono Rx light API · 8ef7e2ff
      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)
      8ef7e2ff
  33. 01 1月, 2016 1 次提交
    • R
      Update Servlet + Undertow req & resp implementations · 0aade73c
      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.
      0aade73c