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

Side by Side Diff: net/http/http_transaction_test_util.cc

Issue 455623003: stale-while-revalidate experimental implementation. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase. Created 6 years, 2 months 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/http/http_transaction_test_util.h" 5 #include "net/http/http_transaction_test_util.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/message_loop/message_loop.h" 10 #include "base/message_loop/message_loop.h"
(...skipping 259 matching lines...) Expand 10 before | Expand all | Expand 10 after
270 // Let the MockTransactionHandler worry about this: the only way for this 270 // Let the MockTransactionHandler worry about this: the only way for this
271 // test to succeed is by using an explicit handler for the transaction so 271 // test to succeed is by using an explicit handler for the transaction so
272 // that server behavior can be simulated. 272 // that server behavior can be simulated.
273 return StartInternal(&auth_request_info, callback, net::BoundNetLog()); 273 return StartInternal(&auth_request_info, callback, net::BoundNetLog());
274 } 274 }
275 275
276 bool MockNetworkTransaction::IsReadyToRestartForAuth() { 276 bool MockNetworkTransaction::IsReadyToRestartForAuth() {
277 if (!request_) 277 if (!request_)
278 return false; 278 return false;
279 279
280 // Only mock auth when the test asks for it. 280 if (!request_->extra_headers.HasHeader("X-Require-Mock-Auth"))
281 return request_->extra_headers.HasHeader("X-Require-Mock-Auth"); 281 return false;
282
283 // Allow the mock server to decide whether authentication is required or not.
284 std::string status_line = response_.headers->GetStatusLine();
285 return status_line.find(" 401 ") != std::string::npos ||
286 status_line.find(" 407 ") != std::string::npos;
282 } 287 }
283 288
284 int MockNetworkTransaction::Read(net::IOBuffer* buf, int buf_len, 289 int MockNetworkTransaction::Read(net::IOBuffer* buf, int buf_len,
285 const net::CompletionCallback& callback) { 290 const net::CompletionCallback& callback) {
286 int data_len = static_cast<int>(data_.size()); 291 int data_len = static_cast<int>(data_.size());
287 int num = std::min(buf_len, data_len - data_cursor_); 292 int num = std::min(buf_len, data_len - data_cursor_);
288 if (test_mode_ & TEST_MODE_SLOW_READ) 293 if (test_mode_ & TEST_MODE_SLOW_READ)
289 num = std::min(num, 1); 294 num = std::min(num, 1);
290 if (num) { 295 if (num) {
291 memcpy(buf->data(), data_.data() + data_cursor_, num); 296 memcpy(buf->data(), data_.data() + data_cursor_, num);
(...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after
498 503
499 if (rv > 0) 504 if (rv > 0)
500 content.append(buf->data(), rv); 505 content.append(buf->data(), rv);
501 else if (rv < 0) 506 else if (rv < 0)
502 return rv; 507 return rv;
503 } while (rv > 0); 508 } while (rv > 0);
504 509
505 result->swap(content); 510 result->swap(content);
506 return net::OK; 511 return net::OK;
507 } 512 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698