Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(454)

Side by Side Diff: chrome/test/chromedriver/net/websocket.cc

Issue 86913002: Make base::Base64Encode() return void (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: One more chromeos-specific fix. Created 7 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "chrome/test/chromedriver/net/websocket.h" 5 #include "chrome/test/chromedriver/net/websocket.h"
6 6
7 #include <string.h> 7 #include <string.h>
8 8
9 #include "base/base64.h" 9 #include "base/base64.h"
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
114 Write(header_str + masked_message); 114 Write(header_str + masked_message);
115 return true; 115 return true;
116 } 116 }
117 117
118 void WebSocket::OnSocketConnect(int code) { 118 void WebSocket::OnSocketConnect(int code) {
119 if (code != net::OK) { 119 if (code != net::OK) {
120 Close(code); 120 Close(code);
121 return; 121 return;
122 } 122 }
123 123
124 CHECK(base::Base64Encode(base::RandBytesAsString(16), &sec_key_)); 124 base::Base64Encode(base::RandBytesAsString(16), &sec_key_);
125 std::string handshake = base::StringPrintf( 125 std::string handshake = base::StringPrintf(
126 "GET %s HTTP/1.1\r\n" 126 "GET %s HTTP/1.1\r\n"
127 "Host: %s\r\n" 127 "Host: %s\r\n"
128 "Upgrade: websocket\r\n" 128 "Upgrade: websocket\r\n"
129 "Connection: Upgrade\r\n" 129 "Connection: Upgrade\r\n"
130 "Sec-WebSocket-Key: %s\r\n" 130 "Sec-WebSocket-Key: %s\r\n"
131 "Sec-WebSocket-Version: 13\r\n" 131 "Sec-WebSocket-Version: 13\r\n"
132 "Pragma: no-cache\r\n" 132 "Pragma: no-cache\r\n"
133 "Cache-Control: no-cache\r\n" 133 "Cache-Control: no-cache\r\n"
134 "\r\n", 134 "\r\n",
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
203 203
204 void WebSocket::OnReadDuringHandshake(const char* data, int len) { 204 void WebSocket::OnReadDuringHandshake(const char* data, int len) {
205 handshake_response_ += std::string(data, len); 205 handshake_response_ += std::string(data, len);
206 int headers_end = net::HttpUtil::LocateEndOfHeaders( 206 int headers_end = net::HttpUtil::LocateEndOfHeaders(
207 handshake_response_.data(), handshake_response_.size(), 0); 207 handshake_response_.data(), handshake_response_.size(), 0);
208 if (headers_end == -1) 208 if (headers_end == -1)
209 return; 209 return;
210 210
211 const char kMagicKey[] = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11"; 211 const char kMagicKey[] = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11";
212 std::string websocket_accept; 212 std::string websocket_accept;
213 CHECK(base::Base64Encode(base::SHA1HashString(sec_key_ + kMagicKey), 213 base::Base64Encode(base::SHA1HashString(sec_key_ + kMagicKey),
214 &websocket_accept)); 214 &websocket_accept);
215 scoped_refptr<net::HttpResponseHeaders> headers( 215 scoped_refptr<net::HttpResponseHeaders> headers(
216 new net::HttpResponseHeaders( 216 new net::HttpResponseHeaders(
217 net::HttpUtil::AssembleRawHeaders( 217 net::HttpUtil::AssembleRawHeaders(
218 handshake_response_.data(), headers_end))); 218 handshake_response_.data(), headers_end)));
219 if (headers->response_code() != 101 || 219 if (headers->response_code() != 101 ||
220 !headers->HasHeaderValue("Upgrade", "WebSocket") || 220 !headers->HasHeaderValue("Upgrade", "WebSocket") ||
221 !headers->HasHeaderValue("Connection", "Upgrade") || 221 !headers->HasHeaderValue("Connection", "Upgrade") ||
222 !headers->HasHeaderValue("Sec-WebSocket-Accept", websocket_accept)) { 222 !headers->HasHeaderValue("Sec-WebSocket-Accept", websocket_accept)) {
223 Close(net::ERR_FAILED); 223 Close(net::ERR_FAILED);
224 return; 224 return;
(...skipping 30 matching lines...) Expand all
255 255
256 void WebSocket::Close(int code) { 256 void WebSocket::Close(int code) {
257 socket_->Disconnect(); 257 socket_->Disconnect();
258 if (!connect_callback_.is_null()) 258 if (!connect_callback_.is_null())
259 InvokeConnectCallback(code); 259 InvokeConnectCallback(code);
260 if (state_ == OPEN) 260 if (state_ == OPEN)
261 listener_->OnClose(); 261 listener_->OnClose();
262 262
263 state_ = CLOSED; 263 state_ = CLOSED;
264 } 264 }
265
266
OLDNEW
« no previous file with comments | « chrome/test/chromedriver/chrome_launcher_unittest.cc ('k') | components/policy/core/common/cloud/resource_cache.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698