org.apache.tomcat.util.buf.Utf8Decoder Java Examples
The following examples show how to use
org.apache.tomcat.util.buf.Utf8Decoder.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: StreamInbound.java From Tomcat7.0.67 with Apache License 2.0 | 4 votes |
@Override public final SocketState onData() throws IOException { // Must be start the start of a message (which may consist of multiple // frames) WsInputStream wsIs = new WsInputStream(processor, getWsOutbound()); try { WsFrame frame = wsIs.nextFrame(false); while (frame != null) { // TODO User defined extensions may define values for rsv if (frame.getRsv() > 0) { closeOutboundConnection( Constants.STATUS_PROTOCOL_ERROR, null); return SocketState.CLOSED; } byte opCode = frame.getOpCode(); if (opCode == Constants.OPCODE_BINARY) { doOnBinaryData(wsIs); } else if (opCode == Constants.OPCODE_TEXT) { InputStreamReader r = new InputStreamReader(wsIs, new Utf8Decoder()); doOnTextData(r); } else if (opCode == Constants.OPCODE_CLOSE){ closeOutboundConnection(frame); return SocketState.CLOSED; } else if (opCode == Constants.OPCODE_PING) { getWsOutbound().pong(frame.getPayLoad()); } else if (opCode == Constants.OPCODE_PONG) { doOnPong(frame.getPayLoad()); } else { // Unknown OpCode closeOutboundConnection( Constants.STATUS_PROTOCOL_ERROR, null); return SocketState.CLOSED; } frame = wsIs.nextFrame(false); } } catch (MalformedInputException mie) { // Invalid UTF-8 closeOutboundConnection(Constants.STATUS_BAD_DATA, null); return SocketState.CLOSED; } catch (UnmappableCharacterException uce) { // Invalid UTF-8 closeOutboundConnection(Constants.STATUS_BAD_DATA, null); return SocketState.CLOSED; } catch (IOException ioe) { // Given something must have gone to reach this point, this // might not work but try it anyway. closeOutboundConnection(Constants.STATUS_PROTOCOL_ERROR, null); return SocketState.CLOSED; } return SocketState.UPGRADED; }
Example #2
Source File: StreamInbound.java From tomcatsrc with Apache License 2.0 | 4 votes |
@Override public final SocketState onData() throws IOException { // Must be start the start of a message (which may consist of multiple // frames) WsInputStream wsIs = new WsInputStream(processor, getWsOutbound()); try { WsFrame frame = wsIs.nextFrame(false); while (frame != null) { // TODO User defined extensions may define values for rsv if (frame.getRsv() > 0) { closeOutboundConnection( Constants.STATUS_PROTOCOL_ERROR, null); return SocketState.CLOSED; } byte opCode = frame.getOpCode(); if (opCode == Constants.OPCODE_BINARY) { doOnBinaryData(wsIs); } else if (opCode == Constants.OPCODE_TEXT) { InputStreamReader r = new InputStreamReader(wsIs, new Utf8Decoder()); doOnTextData(r); } else if (opCode == Constants.OPCODE_CLOSE){ closeOutboundConnection(frame); return SocketState.CLOSED; } else if (opCode == Constants.OPCODE_PING) { getWsOutbound().pong(frame.getPayLoad()); } else if (opCode == Constants.OPCODE_PONG) { doOnPong(frame.getPayLoad()); } else { // Unknown OpCode closeOutboundConnection( Constants.STATUS_PROTOCOL_ERROR, null); return SocketState.CLOSED; } frame = wsIs.nextFrame(false); } } catch (MalformedInputException mie) { // Invalid UTF-8 closeOutboundConnection(Constants.STATUS_BAD_DATA, null); return SocketState.CLOSED; } catch (UnmappableCharacterException uce) { // Invalid UTF-8 closeOutboundConnection(Constants.STATUS_BAD_DATA, null); return SocketState.CLOSED; } catch (IOException ioe) { // Given something must have gone to reach this point, this // might not work but try it anyway. closeOutboundConnection(Constants.STATUS_PROTOCOL_ERROR, null); return SocketState.CLOSED; } return SocketState.UPGRADED; }