package com.will.docker.exec; import com.will.docker.exec.ws.ContainerExecHandshakeInterceptor; import com.will.docker.exec.ws.ContainerExecWSHandler; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.socket.config.annotation.EnableWebSocket; import org.springframework.web.socket.config.annotation.WebSocketConfigurer; import org.springframework.web.socket.config.annotation.WebSocketHandlerRegistry; import org.springframework.web.socket.server.standard.ServerEndpointExporter; /** * 加载websocket. * @author will */ @Configuration @EnableWebSocket public class WebSocketConfig implements WebSocketConfigurer { @Bean public ServerEndpointExporter serverEndpointExporter(ApplicationContext context) { return new ServerEndpointExporter(); } @Bean public ContainerExecWSHandler containerExecWSHandler(){ return new ContainerExecWSHandler(); } @Override public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) { registry.addHandler(containerExecWSHandler(), "/ws/container/exec").addInterceptors(new ContainerExecHandshakeInterceptor()).setAllowedOrigins("*"); } }