package com.lance.websocket.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.socket.WebSocketHandler;
import org.springframework.web.socket.config.annotation.WebSocketConfigurer;
import org.springframework.web.socket.config.annotation.WebSocketHandlerRegistry;

import com.lance.websocket.service.EchoService;
import com.lance.websocket.service.EchoServiceImpl;

@Configuration
public class WebSocketConfig implements WebSocketConfigurer{

	@Override
	public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
		registry.addHandler(echoWebSocketHandler(), "/echo").setAllowedOrigins("*").withSockJS();
	}
	
	@Bean
	public WebSocketHandler echoWebSocketHandler() {
		return new EchoWebSocketHandler(echoService());
	}
	
	@Bean
	public EchoService echoService() {
		return new EchoServiceImpl("Did you say \"%s\"?");
	}
}

@@ -678,16 +678,21 @@
 %22/echo%22)
+%0A%09%09%09%09
 .setAllo
@@ -706,16 +706,21 @@
 ins(%22*%22)
+%0A%09%09%09%09
 .withSoc
@@ -724,16 +724,79 @@
 SockJS()
+%0A%09%09%09%09.setHeartbeatTime(30000)%0A%09%09%09%09.setSessionCookieNeeded(true)
 ;%0A%09%7D%0A%09%0A%09

update sockjs heartbeat 30s