|
23 | 23 | import org.jboss.netty.handler.codec.http.HttpResponse;
|
24 | 24 | import org.jboss.netty.handler.codec.http.websocketx.BinaryWebSocketFrame;
|
25 | 25 | import org.jboss.netty.handler.codec.http.websocketx.CloseWebSocketFrame;
|
| 26 | +import org.jboss.netty.handler.codec.http.websocketx.TextWebSocketFrame; |
26 | 27 | import org.jboss.netty.handler.codec.http.websocketx.WebSocketFrame;
|
27 | 28 |
|
28 | 29 | import com.ning.http.client.AsyncHandler.STATE;
|
@@ -134,36 +135,34 @@ public void handle(Channel channel, NettyResponseFuture<?> future, Object e) thr
|
134 | 135 | Channels.setDiscard(channel);
|
135 | 136 | CloseWebSocketFrame closeFrame = CloseWebSocketFrame.class.cast(frame);
|
136 | 137 | webSocket.onClose(closeFrame.getStatusCode(), closeFrame.getReasonText());
|
137 |
| - } else { |
138 |
| - |
139 |
| - if (frame.getBinaryData() != null) { |
140 |
| - HttpChunk webSocketChunk = new HttpChunk() { |
141 |
| - private ChannelBuffer content = frame.getBinaryData(); |
142 |
| - |
143 |
| - @Override |
144 |
| - public boolean isLast() { |
145 |
| - return false; |
146 |
| - } |
147 |
| - |
148 |
| - @Override |
149 |
| - public ChannelBuffer getContent() { |
150 |
| - return content; |
151 |
| - } |
152 |
| - |
153 |
| - @Override |
154 |
| - public void setContent(ChannelBuffer content) { |
155 |
| - throw new UnsupportedOperationException(); |
156 |
| - } |
157 |
| - }; |
158 |
| - |
159 |
| - NettyResponseBodyPart rp = new NettyResponseBodyPart(null, webSocketChunk, true); |
160 |
| - handler.onBodyPartReceived(rp); |
161 |
| - |
162 |
| - if (frame instanceof BinaryWebSocketFrame) { |
163 |
| - webSocket.onBinaryFragment(rp.getBodyPartBytes(), frame.isFinalFragment()); |
164 |
| - } else { |
165 |
| - webSocket.onTextFragment(frame.getBinaryData().toString(StandardCharsets.UTF_8), frame.isFinalFragment()); |
| 138 | + |
| 139 | + } else if (frame.getBinaryData() != null) { |
| 140 | + HttpChunk webSocketChunk = new HttpChunk() { |
| 141 | + private ChannelBuffer content = frame.getBinaryData(); |
| 142 | + |
| 143 | + @Override |
| 144 | + public boolean isLast() { |
| 145 | + return frame.isFinalFragment(); |
| 146 | + } |
| 147 | + |
| 148 | + @Override |
| 149 | + public ChannelBuffer getContent() { |
| 150 | + return content; |
166 | 151 | }
|
| 152 | + |
| 153 | + @Override |
| 154 | + public void setContent(ChannelBuffer content) { |
| 155 | + throw new UnsupportedOperationException(); |
| 156 | + } |
| 157 | + }; |
| 158 | + |
| 159 | + NettyResponseBodyPart rp = new NettyResponseBodyPart(null, webSocketChunk, frame.isFinalFragment()); |
| 160 | + handler.onBodyPartReceived(rp); |
| 161 | + |
| 162 | + if (frame instanceof BinaryWebSocketFrame) { |
| 163 | + webSocket.onBinaryFragment(rp.getBodyPartBytes(), frame.isFinalFragment()); |
| 164 | + } else { |
| 165 | + webSocket.onTextFragment(frame.getBinaryData().toString(StandardCharsets.UTF_8), frame.isFinalFragment()); |
167 | 166 | }
|
168 | 167 | }
|
169 | 168 | } else {
|
|
0 commit comments