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

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

Issue 992733002: Remove //net (except for Android test stuff) and sdch (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 9 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
« no previous file with comments | « net/http/http_auth_handler.h ('k') | net/http/http_auth_handler_basic.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
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
3 // found in the LICENSE file.
4
5 #include "net/http/http_auth_handler.h"
6
7 #include "base/bind.h"
8 #include "base/bind_helpers.h"
9 #include "base/logging.h"
10 #include "net/base/net_errors.h"
11 #include "net/http/http_auth_challenge_tokenizer.h"
12
13 namespace net {
14
15 HttpAuthHandler::HttpAuthHandler()
16 : auth_scheme_(HttpAuth::AUTH_SCHEME_MAX),
17 score_(-1),
18 target_(HttpAuth::AUTH_NONE),
19 properties_(-1) {
20 }
21
22 HttpAuthHandler::~HttpAuthHandler() {
23 }
24
25 bool HttpAuthHandler::InitFromChallenge(
26 HttpAuthChallengeTokenizer* challenge,
27 HttpAuth::Target target,
28 const GURL& origin,
29 const BoundNetLog& net_log) {
30 origin_ = origin;
31 target_ = target;
32 score_ = -1;
33 properties_ = -1;
34 net_log_ = net_log;
35
36 auth_challenge_ = challenge->challenge_text();
37 bool ok = Init(challenge);
38
39 // Init() is expected to set the scheme, realm, score, and properties. The
40 // realm may be empty.
41 DCHECK(!ok || score_ != -1);
42 DCHECK(!ok || properties_ != -1);
43 DCHECK(!ok || auth_scheme_ != HttpAuth::AUTH_SCHEME_MAX);
44
45 return ok;
46 }
47
48 namespace {
49
50 NetLog::EventType EventTypeFromAuthTarget(HttpAuth::Target target) {
51 switch (target) {
52 case HttpAuth::AUTH_PROXY:
53 return NetLog::TYPE_AUTH_PROXY;
54 case HttpAuth::AUTH_SERVER:
55 return NetLog::TYPE_AUTH_SERVER;
56 default:
57 NOTREACHED();
58 return NetLog::TYPE_CANCELLED;
59 }
60 }
61
62 } // namespace
63
64 int HttpAuthHandler::GenerateAuthToken(
65 const AuthCredentials* credentials, const HttpRequestInfo* request,
66 const CompletionCallback& callback, std::string* auth_token) {
67 DCHECK(!callback.is_null());
68 DCHECK(request);
69 DCHECK(credentials != NULL || AllowsDefaultCredentials());
70 DCHECK(auth_token != NULL);
71 DCHECK(callback_.is_null());
72 callback_ = callback;
73 net_log_.BeginEvent(EventTypeFromAuthTarget(target_));
74 int rv = GenerateAuthTokenImpl(
75 credentials, request,
76 base::Bind(&HttpAuthHandler::OnGenerateAuthTokenComplete,
77 base::Unretained(this)),
78 auth_token);
79 if (rv != ERR_IO_PENDING)
80 FinishGenerateAuthToken();
81 return rv;
82 }
83
84 bool HttpAuthHandler::NeedsIdentity() {
85 return true;
86 }
87
88 bool HttpAuthHandler::AllowsDefaultCredentials() {
89 return false;
90 }
91
92 bool HttpAuthHandler::AllowsExplicitCredentials() {
93 return true;
94 }
95
96 void HttpAuthHandler::OnGenerateAuthTokenComplete(int rv) {
97 CompletionCallback callback = callback_;
98 FinishGenerateAuthToken();
99 DCHECK(!callback.is_null());
100 callback.Run(rv);
101 }
102
103 void HttpAuthHandler::FinishGenerateAuthToken() {
104 // TOOD(cbentzel): Should this be done in OK case only?
105 net_log_.EndEvent(EventTypeFromAuthTarget(target_));
106 callback_.Reset();
107 }
108
109 } // namespace net
OLDNEW
« no previous file with comments | « net/http/http_auth_handler.h ('k') | net/http/http_auth_handler_basic.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698