/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package com.eas.server.websocket; import com.eas.script.LpcTransient; import java.io.IOException; import java.util.logging.Level; import java.util.logging.Logger; import javax.websocket.CloseReason; import javax.websocket.Session; /** * * @author mg */ public class WebSocketServerSession implements LpcTransient { protected final Session session; public WebSocketServerSession(Session aSession) { super(); session = aSession; } public void close(Double opCode, String aReason) throws Exception { if (opCode == null) { opCode = Double.valueOf(CloseReason.CloseCodes.NO_STATUS_CODE.getCode()); } if (aReason == null) { aReason = ""; } if (session.isOpen()) { session.close(new CloseReason(CloseReason.CloseCodes.getCloseCode(opCode.intValue()), aReason)); } } public void send(String aData) { if (aData != null && session.isOpen()) { try { session.getBasicRemote().sendText(aData); } catch (IOException ex) { Logger.getLogger(WebSocketServerSession.class.getName()).log(Level.SEVERE, null, ex); } } } public String getId() { return session.getId(); } public String getProtocolVersion() { return session.getProtocolVersion(); } public String getQuery() { return session.getQueryString(); } public String getUri() { return session.getRequestURI().toString(); } }