Rossen Stoyanchev
935577f00b
Replace WebSocketHandlerAdapterSupport with delegation
...
This commit removes the base class WebSocketHandlerAdapterSupport which
was mainly a container for properties. Instead we use a
java.util.Function to create the WebSocketSession which differs in any
way by client and server, which in turn allows HandshakeInfo to become
a simple immutable container once again.
Also for Undertow the WebSocketConnectionCallback implementation has
been moved into the server.upgrade package since it is for server-side
use only.
Issue: SPR-14527
2016-12-23 17:23:23 -05:00
Violeta Georgieva
d49ab90187
Jetty/Standard/UndertowWebSocketClient headers test
2016-12-23 17:23:22 -05:00
Violeta Georgieva
b4b7b163d1
Add WebSocketClient for Undertow
...
Issue: SPR-14527
2016-12-23 17:23:22 -05:00
Violeta Georgieva
30ee71ea1a
Add WebSocketClient for Java WebSocket (JSR-356)
...
Issue: SPR-14527
2016-12-23 17:23:22 -05:00
Violeta Georgieva
bd09a76a1e
Add WebSocketClient for Jetty
...
Issue: SPR-14527
2016-12-23 17:23:22 -05:00
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