| Index: net/http/http_auth.cc
|
| diff --git a/net/http/http_auth.cc b/net/http/http_auth.cc
|
| index f17b5022f2fe4612a16682c3820a4a5c675300be..685c487d00aa5ae6665691064e9342ad89e9bdaf 100644
|
| --- a/net/http/http_auth.cc
|
| +++ b/net/http/http_auth.cc
|
| @@ -15,6 +15,7 @@
|
| #include "net/http/http_auth_scheme.h"
|
| #include "net/http/http_request_headers.h"
|
| #include "net/http/http_response_headers.h"
|
| +#include "net/http/http_response_info.h"
|
| #include "net/http/http_util.h"
|
|
|
| namespace net {
|
| @@ -24,13 +25,14 @@ HttpAuth::Identity::Identity() : source(IDENT_SRC_NONE), invalid(true) {}
|
| // static
|
| void HttpAuth::ChooseBestChallenge(
|
| HttpAuthHandlerFactory* http_auth_handler_factory,
|
| - const HttpResponseHeaders* headers,
|
| + const HttpResponseInfo& response_info,
|
| Target target,
|
| const GURL& origin,
|
| const std::set<Scheme>& disabled_schemes,
|
| const BoundNetLog& net_log,
|
| scoped_ptr<HttpAuthHandler>* handler) {
|
| DCHECK(http_auth_handler_factory);
|
| + DCHECK(response_info.headers.get());
|
| DCHECK(handler->get() == NULL);
|
|
|
| // Choose the challenge whose authentication handler gives the maximum score.
|
| @@ -38,10 +40,11 @@ void HttpAuth::ChooseBestChallenge(
|
| const std::string header_name = GetChallengeHeaderName(target);
|
| std::string cur_challenge;
|
| size_t iter = 0;
|
| - while (headers->EnumerateHeader(&iter, header_name, &cur_challenge)) {
|
| + while (response_info.headers->EnumerateHeader(&iter, header_name,
|
| + &cur_challenge)) {
|
| scoped_ptr<HttpAuthHandler> cur;
|
| int rv = http_auth_handler_factory->CreateAuthHandlerFromString(
|
| - cur_challenge, target, origin, net_log, &cur);
|
| + cur_challenge, target, response_info, origin, net_log, &cur);
|
| if (rv != OK) {
|
| VLOG(1) << "Unable to create AuthHandler. Status: "
|
| << ErrorToString(rv) << " Challenge: " << cur_challenge;
|
| @@ -57,12 +60,12 @@ void HttpAuth::ChooseBestChallenge(
|
| // static
|
| HttpAuth::AuthorizationResult HttpAuth::HandleChallengeResponse(
|
| HttpAuthHandler* handler,
|
| - const HttpResponseHeaders* headers,
|
| + const HttpResponseInfo& response_info,
|
| Target target,
|
| const std::set<Scheme>& disabled_schemes,
|
| std::string* challenge_used) {
|
| DCHECK(handler);
|
| - DCHECK(headers);
|
| + DCHECK(response_info.headers.get());
|
| DCHECK(challenge_used);
|
| challenge_used->clear();
|
| HttpAuth::Scheme current_scheme = handler->auth_scheme();
|
| @@ -74,7 +77,8 @@ HttpAuth::AuthorizationResult HttpAuth::HandleChallengeResponse(
|
| std::string challenge;
|
| HttpAuth::AuthorizationResult authorization_result =
|
| HttpAuth::AUTHORIZATION_RESULT_INVALID;
|
| - while (headers->EnumerateHeader(&iter, header_name, &challenge)) {
|
| + while (
|
| + response_info.headers->EnumerateHeader(&iter, header_name, &challenge)) {
|
| HttpAuthChallengeTokenizer props(challenge.begin(), challenge.end());
|
| if (!base::LowerCaseEqualsASCII(props.scheme(),
|
| current_scheme_name.c_str()))
|
|
|