| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "net/server/web_socket.h" | 5 #include "net/server/web_socket.h" |
| 6 | 6 |
| 7 #include "base/base64.h" | 7 #include "base/base64.h" |
| 8 #include "base/rand_util.h" | 8 #include "base/rand_util.h" |
| 9 #include "base/logging.h" | 9 #include "base/logging.h" |
| 10 #include "base/md5.h" | 10 #include "base/md5.h" |
| (...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 209 size_t data_length = connection_->recv_data().length(); | 209 size_t data_length = connection_->recv_data().length(); |
| 210 if (data_length < 2) | 210 if (data_length < 2) |
| 211 return FRAME_INCOMPLETE; | 211 return FRAME_INCOMPLETE; |
| 212 | 212 |
| 213 const char* p = connection_->recv_data().c_str(); | 213 const char* p = connection_->recv_data().c_str(); |
| 214 const char* buffer_end = p + data_length; | 214 const char* buffer_end = p + data_length; |
| 215 | 215 |
| 216 unsigned char first_byte = *p++; | 216 unsigned char first_byte = *p++; |
| 217 unsigned char second_byte = *p++; | 217 unsigned char second_byte = *p++; |
| 218 | 218 |
| 219 final_ = first_byte & kFinalBit; | 219 final_ = (first_byte & kFinalBit) != 0; |
| 220 reserved1_ = first_byte & kReserved1Bit; | 220 reserved1_ = (first_byte & kReserved1Bit) != 0; |
| 221 reserved2_ = first_byte & kReserved2Bit; | 221 reserved2_ = (first_byte & kReserved2Bit) != 0; |
| 222 reserved3_ = first_byte & kReserved3Bit; | 222 reserved3_ = (first_byte & kReserved3Bit) != 0; |
| 223 op_code_ = first_byte & kOpCodeMask; | 223 op_code_ = first_byte & kOpCodeMask; |
| 224 masked_ = second_byte & kMaskBit; | 224 masked_ = (second_byte & kMaskBit) != 0; |
| 225 | 225 |
| 226 switch (op_code_) { | 226 switch (op_code_) { |
| 227 case kOpCodeClose: | 227 case kOpCodeClose: |
| 228 closed_ = true; | 228 closed_ = true; |
| 229 break; | 229 break; |
| 230 case kOpCodeText: | 230 case kOpCodeText: |
| 231 break; | 231 break; |
| 232 case kOpCodeBinary: // We don't support binary frames yet. | 232 case kOpCodeBinary: // We don't support binary frames yet. |
| 233 case kOpCodeContinuation: // We don't support binary frames yet. | 233 case kOpCodeContinuation: // We don't support binary frames yet. |
| 234 case kOpCodePing: // We don't support binary frames yet. | 234 case kOpCodePing: // We don't support binary frames yet. |
| (...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 365 if (socket) | 365 if (socket) |
| 366 return socket; | 366 return socket; |
| 367 | 367 |
| 368 return WebSocketHixie76::Create(connection, request, pos); | 368 return WebSocketHixie76::Create(connection, request, pos); |
| 369 } | 369 } |
| 370 | 370 |
| 371 WebSocket::WebSocket(HttpConnection* connection) : connection_(connection) { | 371 WebSocket::WebSocket(HttpConnection* connection) : connection_(connection) { |
| 372 } | 372 } |
| 373 | 373 |
| 374 } // namespace net | 374 } // namespace net |
| OLD | NEW |