31 lines
1007 B
Java
31 lines
1007 B
Java
package ru.serega6531.packmate;
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Component;
|
|
import org.springframework.web.socket.CloseStatus;
|
|
import org.springframework.web.socket.WebSocketSession;
|
|
import org.springframework.web.socket.handler.TextWebSocketHandler;
|
|
import ru.serega6531.packmate.service.SubscriptionService;
|
|
|
|
@SuppressWarnings("NullableProblems")
|
|
@Component
|
|
public class WebSocketHandler extends TextWebSocketHandler {
|
|
|
|
private final SubscriptionService subscriptionService;
|
|
|
|
@Autowired
|
|
public WebSocketHandler(SubscriptionService subscriptionService) {
|
|
this.subscriptionService = subscriptionService;
|
|
}
|
|
|
|
@Override
|
|
public void afterConnectionEstablished(WebSocketSession session) {
|
|
subscriptionService.addSubscriber(session);
|
|
}
|
|
|
|
@Override
|
|
public void afterConnectionClosed(WebSocketSession session, CloseStatus status) {
|
|
subscriptionService.removeSubscriber(session);
|
|
}
|
|
}
|