rest/src/main/java/org/jboss/pnc/rest/notifications/websockets/NotificationsEndpoint.java
@OnMessage
    public void onMessage(String message, Session session) {

        RequestParser parser = new RequestParser();
        try {
            if (!parser.parseRequest(message)) {
                respondWithErrorMessage(parser.getErrorMessage(), parser.getFailedStatus(), session);
                return;
            }
        } catch (IOException e) {
            respondWithErrorMessage(parser.getErrorMessage() + " " + e.getMessage(), parser.getFailedStatus(), session, e);
            return;
        }

        MessageType messageType = parser.getMessageType();
        if (MessageType.PROCESS_UPDATES.equals(messageType)) {
            ProgressUpdatesRequest progressUpdatesRequest = parser.<ProgressUpdatesRequest>getData();
            onProgressUpdateRequest(progressUpdatesRequest, session);
        }
    }
@OnMessage
    public void onMessage(String message, Session session) {

        RequestParser parser = new RequestParser();
        try {
            if (!parser.parseRequest(message)) {
                respondWithErrorMessage(parser.getErrorMessage(), parser.getFailedStatus(), session);
                return;
            }
        } catch (IOException e) {
            respondWithErrorMessage(parser.getErrorMessage() + " " + e.getMessage(), parser.getFailedStatus(), session, e);
            return;
        }

        MessageType messageType = parser.getMessageType();
        if (MessageType.PROCESS_UPDATES.equals(messageType)) {
            ProgressUpdatesRequest progressUpdatesRequest = parser.<ProgressUpdatesRequest>getData();
            onProgressUpdateRequest(progressUpdatesRequest, session);
        }
    }
Expected message format:
{
messageType: 'process-updates',
message: {
_typed_body_
}
}

Example:
{
messageType: 'process-updates',
message: {
action: 'subscribe|unsubscribe',
topic: 'component-build',
id: 123
}
}

@param message
@param session