@@ -335,7 +335,7 @@ public Router encoder(@Nonnull MediaType contentType, @Nonnull MessageEncoder en
335335 }
336336
337337 @ Nonnull @ Override public Route ws (@ Nonnull String pattern , @ Nonnull WebSocket .Initializer handler ) {
338- return route (GET , pattern , new WebSocketHandler (handler ));
338+ return route (WS , pattern , new WebSocketHandler (handler ));
339339 }
340340
341341 @ Override
@@ -389,13 +389,20 @@ private Route defineRoute(@Nonnull String method, @Nonnull String pattern,
389389 String routePattern = normalizePath (basePath == null
390390 ? safePattern
391391 : basePath + safePattern , false , true );
392- tree .insert (route .getMethod (), routePattern , route );
393- if (route .isHttpOptions ()) {
394- tree .insert (Router .OPTIONS , routePattern , route );
395- } else if (route .isHttpTrace ()) {
396- tree .insert (Router .TRACE , routePattern , route );
397- } else if (route .isHttpHead () && route .getMethod ().equals (GET )) {
398- tree .insert (Router .HEAD , routePattern , route );
392+
393+ if (route .getMethod ().equals (WS )) {
394+ tree .insert (GET , routePattern , route );
395+ route .setReturnType (Context .class );
396+ } else {
397+ tree .insert (route .getMethod (), routePattern , route );
398+
399+ if (route .isHttpOptions ()) {
400+ tree .insert (Router .OPTIONS , routePattern , route );
401+ } else if (route .isHttpTrace ()) {
402+ tree .insert (Router .TRACE , routePattern , route );
403+ } else if (route .isHttpHead () && route .getMethod ().equals (GET )) {
404+ tree .insert (Router .HEAD , routePattern , route );
405+ }
399406 }
400407 routes .add (route );
401408
0 commit comments