Package com.righettod.websocket.servlet

Source Code of com.righettod.websocket.servlet.MessageWebSocketServlet

package com.righettod.websocket.servlet;

import java.util.List;

import javax.servlet.annotation.WebServlet;

import org.apache.catalina.websocket.StreamInbound;
import org.apache.catalina.websocket.WebSocketServlet;

import com.righettod.websocket.handler.MessageHandler;

/**
* WebSocket dedicated servlet type to manage WebSocket Inbound/Outbound messages on server side.
*
* @author Dominique Righetto (dominique.righetto@gmail.com)
*
* @see "http://tomcat.apache.org/tomcat-7.0-doc/web-socket-howto.html"
* @see "http://tomcat.apache.org/tomcat-7.0-doc/api/index.html?org/apache/catalina/websocket/WebSocketServlet.html"
*
*/
@WebServlet("/stats")
@SuppressWarnings("serial")
public class MessageWebSocketServlet extends WebSocketServlet {

  /**
   * {@inheritDoc}
   *
   * @see org.apache.catalina.websocket.WebSocketServlet#createWebSocketInbound(java.lang.String)
   */
  @Override
  protected StreamInbound createWebSocketInbound(String subProtocol) {
    System.out.printf("==> Create new message handler for sub protocol : '%s'\n", subProtocol);
    return new MessageHandler();
  }

  /**
   * {@inheritDoc}
   *
   * @see org.apache.catalina.websocket.WebSocketServlet#verifyOrigin(java.lang.String)
   */
  @Override
  protected boolean verifyOrigin(String origin) {
    // During my tests i have noticed that ORIGIN is obtained using the HTTP request header named 'Origin'.
    // If you alter it then the altered value is used here ;o)
    System.out.printf("==> Verify origin for : '%s'\n", origin);
    // No verification here....
    return true;
  }

  /**
   * {@inheritDoc}
   *
   * @see org.apache.catalina.websocket.WebSocketServlet#selectSubProtocol(java.util.List)
   */
  @Override
  protected String selectSubProtocol(List<String> subProtocols) {
    System.out.printf("==> Select sub protocol for sub protocols list : '%s'\n", subProtocols);
    // Return first protocol for sample or null if no protocol is specified...
    return ((subProtocols == null) || subProtocols.isEmpty()) ? null : subProtocols.get(0);
  }

}
TOP

Related Classes of com.righettod.websocket.servlet.MessageWebSocketServlet

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.