summaryrefslogtreecommitdiffstats
path: root/net/websockets/websocket_job.cc
diff options
context:
space:
mode:
authorukai@chromium.org <ukai@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-03-30 04:16:52 +0000
committerukai@chromium.org <ukai@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-03-30 04:16:52 +0000
commitf8037742c8e716892f9bf0f854b3ebb5680b7076 (patch)
tree1593fbc65b296f21422be3eea3b810c525cb697c /net/websockets/websocket_job.cc
parentf5d01f28f7303a06df34324e0549e6d591c5088e (diff)
downloadchromium_src-f8037742c8e716892f9bf0f854b3ebb5680b7076.zip
chromium_src-f8037742c8e716892f9bf0f854b3ebb5680b7076.tar.gz
chromium_src-f8037742c8e716892f9bf0f854b3ebb5680b7076.tar.bz2
Fix WebSocketJob to pass /key_3/ after handshake request header.
BUG=none TEST=WebSocketJob::SimpleHandshakeDraft76 passes Review URL: http://codereview.chromium.org/1256001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@43054 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/websockets/websocket_job.cc')
-rw-r--r--net/websockets/websocket_job.cc14
1 files changed, 9 insertions, 5 deletions
diff --git a/net/websockets/websocket_job.cc b/net/websockets/websocket_job.cc
index 6e20c17..2f6d4a2 100644
--- a/net/websockets/websocket_job.cc
+++ b/net/websockets/websocket_job.cc
@@ -331,12 +331,16 @@ void WebSocketJob::OnCanGetCookiesCompleted(int policy) {
}
}
- // Simply ignore rest data in original request header after
- // original_handshake_request_header_length_, because websocket protocol
- // doesn't allow sending message before handshake is completed.
- // TODO(ukai): report as error?
+ // draft-hixie-thewebsocketprotocol-76 or later will send /key3/
+ // after handshake request header.
+ std::string additional_data =
+ std::string(original_handshake_request_.data() +
+ original_handshake_request_header_length_,
+ original_handshake_request_.size() -
+ original_handshake_request_header_length_);
handshake_request_ =
- handshake_request_status_line + handshake_request_header + "\r\n";
+ handshake_request_status_line + handshake_request_header + "\r\n" +
+ additional_data;
handshake_request_sent_ = 0;
socket_->SendData(handshake_request_.data(),