Commit Graph

13811 Commits

Author SHA1 Message Date
Violeta Georgieva 113d1b6970 Polishing 2016-12-23 17:23:22 -05:00
Juergen Hoeller ef5c797569 Polishing 2016-12-23 21:23:30 +01:00
Juergen Hoeller 3295a4e6ef ConfigurationClassParser enforces @Bean declaration order through ASM metadata
Issue: SPR-14505
2016-12-23 20:29:12 +01:00
Juergen Hoeller 8147c112f5 LinkedCaseInsensitiveMap delegates to LinkedHashMap instead of extending it
Issue: SPR-15026
2016-12-23 18:57:50 +01:00
Juergen Hoeller d3f97e3092 ObjectProvider offers getIfAvailable/getIfUnique variants with default supplier
Issue: SPR-14980
2016-12-23 18:49:12 +01:00
Juergen Hoeller 54b8aab1c6 Kotlin plugin conditionally deactivated on JDK 9 2016-12-23 18:45:51 +01:00
Sebastien Deleuze fbf88d19da Allow to specify hints with the functional web API
The most common use case is specifying JSON views.

ServerResponse.BodyBuilder#hint(String, Object) allows to
specify response body serialization hints.

ServerRequest#body(BodyExtractor, Map) allows to specify
request body extraction hints.

Issue: SPR-15030
2016-12-23 17:58:34 +01:00
Juergen Hoeller f51fe5fd39 Polishing 2016-12-23 12:27:07 +01:00
Juergen Hoeller e788b8467d GenericApplicationContext offers Supplier-based registration with BeanDefinitionCustomizer callback
Issue: SPR-14832
2016-12-23 12:26:47 +01:00
Rossen Stoyanchev a86f89daa8 Update repositories 2016-12-22 22:23:31 -05:00
Rossen Stoyanchev 3d1b6fd362 Add WebSocket integration test 2016-12-22 22:07:02 -05:00
Stephane Maldini dc9f338add Update to reactor core 3.0.4 and netty 0.6 RELEASE (from repo.spring.io/release) 2016-12-23 03:02:16 +00:00
Juergen Hoeller 5c48daa8eb Remove unused Log object from MessageHeaderAccessor
Issue: SPR-15045
2016-12-22 23:34:19 +01:00
Juergen Hoeller 2819f7c781 Polishing 2016-12-22 22:36:07 +01:00
Juergen Hoeller ae62341fa3 Avoid deprecated Scheduler.shutdown() in favor of Scheduler.dispose() 2016-12-22 22:35:54 +01:00
Rossen Stoyanchev 3719f75d3b Minor refactoring + polish
- RxNettyWebSocketSession filters out WebSocketCloseFrame again
- add before/afterHandshake helper methods in WebSocketClientSupport
- log request headers on server and response headers on client
- polish 400 request handling in HandshakeWebSocketService
2016-12-22 16:18:15 -05:00
Juergen Hoeller d64d9ab370 Consistent ClassLoader propagation and ConcurrentHashMap setup for AspectJ pointcuts
Issue: SPR-15040
2016-12-22 17:00:04 +01:00
Rossen Stoyanchev 0d0d461903 Use WebSocketFrameAggregator for Reactor and RxNetty
WebSocket frames are now aggregated through a Netty decoder so that
we always receive fully assembled messages by default capped at 64K.

Issue: SPR-14527
2016-12-21 14:14:37 -05:00
Rossen Stoyanchev 00387c3bbd Re-enable Reactor WebSocket integration tests 2016-12-21 12:39:56 -05:00
Brian Clozel 54901ab865 Avoid explicit DecoratedObjectFactory setup in JettyRequestUpgradeStrategy
Align Jetty support on spring-websocket module.

Issue: SPR-14940
2016-12-21 17:27:27 +01:00
Sebastien Deleuze 7b183048b8 Introduce SSE support in WebClient
Issue: SPR-14539
2016-12-21 17:24:45 +01:00
Sebastien Deleuze 69b69442bc Add ServerSentEventHttpMessageReader
This HTTP message reader parse incoming Server-Sent
Events and turn them into Flux<String>, Flux<Pojo>
or Flux<ServerSentEvent>.

Issue: SPR-14539
2016-12-21 17:07:41 +01:00
Sebastien Deleuze 183b326f6d Add ServerSentEvent#toString() 2016-12-21 16:46:43 +01:00
Sebastien Deleuze 419d2b4e0a Polish ServerSentEventHttpMessageWriterTests 2016-12-21 16:46:43 +01:00
Sebastien Deleuze a8d8273dc1 Fix a typo in ServerSentEventHttpMessageWriter Javadoc 2016-12-21 16:46:42 +01:00
Juergen Hoeller b54aee27be Polishing 2016-12-21 14:42:43 +01:00
Juergen Hoeller 598122fe8a Avoid package cycle between http.server and web.util 2016-12-21 14:42:32 +01:00
Juergen Hoeller 98d306f558 Upgrade to RxJava 2.0.3 and XMLUnit 2.3 2016-12-21 14:41:25 +01:00
Juergen Hoeller 4125825cf3 Upgrade to Hibernate ORM 5.2.6 2016-12-21 09:59:43 +01:00
Juergen Hoeller 483abfe266 Avoid explicit DecoratedObjectFactory setup in JettyRequestUpgradeStrategy
Issue: SPR-14940
(cherry picked from commit 709d4ba)
2016-12-21 09:56:13 +01:00
Sebastien Deleuze e07d110a67 Update to reactor-core 3.0.4.BUILD-SNAPSHOT 2016-12-21 08:40:19 +01:00
Stephane Maldini 804935a8eb try less log and increase timeout 2016-12-21 00:48:29 +00:00
Sebastien Deleuze a1ae9ac1bd Add ServerHttpRequest.Builder#header(String, String)
This method allows to set or override easily a specific header value.
2016-12-20 23:54:22 +01:00
Sebastien Deleuze 712a63205c Add HttpHeaders#setAcceptLanguageAsLocale(Locale)
Issue: SPR-15024
2016-12-20 22:33:09 +01:00
Juergen Hoeller 82c1c859d9 Polishing
(cherry picked from commit 9cb4de8)
2016-12-20 21:17:48 +01:00
Juergen Hoeller 154ef8bf10 Polishing 2016-12-20 19:57:52 +01:00
Juergen Hoeller 9005481a49 Supplier registration support for annotated bean classes
Issue: SPR-14832
2016-12-20 19:57:44 +01:00
Rossen Stoyanchev 3b987c263c Sub-protocol negotiation for reactive WebSocket support
Issue: SPR-14527
2016-12-20 12:22:24 -05:00
Stephane Maldini 241d5f7a3b Sync reactor-netty client response update and uncomment in tests 2016-12-20 14:37:32 +00:00
Juergen Hoeller 97ea22cb4a Defensively catch any exception from match attempts (for compatibility with AspectJ 1.8.10)
Issue: SPR-15019
2016-12-20 12:17:51 +01:00
Juergen Hoeller f6b2a21206 ConfigurationClassPostProcessor programmatically registers unified ImportAwareBeanPostProcessor
Issue: SPR-14931
2016-12-20 12:16:16 +01:00
Rossen Stoyanchev 30df137273 HandshakeWebSocketService detects upgrade strategies
Issue: SPR-14527
2016-12-19 18:30:14 -05:00
Rossen Stoyanchev 47e141675f Minor refactoring + polish reactive WebSocket support
Rename classes not specific to Tomcat:
TomcatWebSocketSession -> StandardWebSocketSession
TomcatWebSocketHandlerAdapter -> StandardWebSocketHandlerAdapter

WebSocketSessionSupport is renamed to AbstractWebSocketSession since it
actually is a WebSocketSession and pre-implements a number of methods.

ServerEndpointRegistration is now package private (mainly for use in
upgrade strategies) and renamed to DefaultServerEndpointConfig.
2016-12-19 18:16:36 -05:00
Rossen Stoyanchev 5fd600d2ad Fix failing test 2016-12-19 15:29:00 -05:00
Rossen Stoyanchev 1243556047 Add Reactor Netty WebSocketClient support
Issue: SPR-14527
2016-12-19 14:57:10 -05:00
Rossen Stoyanchev 14068d5274 Refactor reactive WebSocketClient contract
Switch from returning Mono<WebSocketSession> to take a WebSocketHandler
and return Mono<Void> for the entire session handling.

The WebSocketHandler callback delimits the stard and end of protocol
handling and forces the handler to operate within the scope of the
Reactor operators.

Give the full duplex nature of WebSockets, the symmetry between client
and server (each now using WebSocketHandler) also seems appropriate.

Issue: SPR-14527
2016-12-19 12:09:47 -05:00
Juergen Hoeller 9c55d22f78 MBeanExporter silently ignores null beans
Issue: SPR-15031
2016-12-19 16:02:59 +01:00
Sebastien Deleuze e0c43c4fcb Disable also reactor-netty WebSocket integration tests 2016-12-19 10:48:44 +01:00
Sebastien Deleuze 7bde85ae55 Fix previous commit 2016-12-19 10:21:36 +01:00
Sebastien Deleuze 879b387954 Disable temporarily reactor-netty integration tests 2016-12-19 09:55:58 +01:00