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 "chrome/common/net/gaia/gaia_oauth_client.h" | 5 #include "chrome/common/net/gaia/gaia_oauth_client.h" |
6 | 6 |
7 #include "base/json/json_reader.h" | 7 #include "base/json/json_reader.h" |
8 #include "base/memory/scoped_ptr.h" | 8 #include "base/memory/scoped_ptr.h" |
9 #include "base/values.h" | 9 #include "base/values.h" |
10 #include "chrome/common/net/http_return.h" | 10 #include "chrome/common/net/http_return.h" |
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
116 void GaiaOAuthClient::Core::OnURLFetchComplete( | 116 void GaiaOAuthClient::Core::OnURLFetchComplete( |
117 const URLFetcher* source, | 117 const URLFetcher* source, |
118 const GURL& url, | 118 const GURL& url, |
119 const net::URLRequestStatus& status, | 119 const net::URLRequestStatus& status, |
120 int response_code, | 120 int response_code, |
121 const net::ResponseCookies& cookies, | 121 const net::ResponseCookies& cookies, |
122 const std::string& data) { | 122 const std::string& data) { |
123 bool should_retry = false; | 123 bool should_retry = false; |
124 HandleResponse(source, url, status, response_code, data, &should_retry); | 124 HandleResponse(source, url, status, response_code, data, &should_retry); |
125 if (should_retry) { | 125 if (should_retry) { |
126 // If the response code is greater than or equal to 500, then the back-off | 126 // Explicitly call ReceivedContentWasMalformed() to ensure the current |
127 // period has been increased at the network level; otherwise, explicitly | 127 // request gets counted as a failure for calculation of the back-off |
128 // call ReceivedContentWasMalformed() to count the current request as a | 128 // period. If it was already a failure by status code, this call will |
129 // failure and increase the back-off period. | 129 // be ignored. |
130 if (response_code < 500) | 130 request_->ReceivedContentWasMalformed(); |
131 request_->ReceivedContentWasMalformed(); | |
132 num_retries_++; | 131 num_retries_++; |
133 request_->Start(); | 132 request_->Start(); |
134 } else { | 133 } else { |
135 request_.reset(); | 134 request_.reset(); |
136 } | 135 } |
137 } | 136 } |
138 | 137 |
139 void GaiaOAuthClient::Core::HandleResponse( | 138 void GaiaOAuthClient::Core::HandleResponse( |
140 const URLFetcher* source, | 139 const URLFetcher* source, |
141 const GURL& url, | 140 const GURL& url, |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
209 const std::string& refresh_token, | 208 const std::string& refresh_token, |
210 int max_retries, | 209 int max_retries, |
211 Delegate* delegate) { | 210 Delegate* delegate) { |
212 return core_->RefreshToken(oauth_client_info, | 211 return core_->RefreshToken(oauth_client_info, |
213 refresh_token, | 212 refresh_token, |
214 max_retries, | 213 max_retries, |
215 delegate); | 214 delegate); |
216 } | 215 } |
217 | 216 |
218 } // namespace gaia | 217 } // namespace gaia |
OLD | NEW |