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

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

Issue 6191001: Cleanup: Use AUTH_SCHEME enum instead of a string. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Merge with trunk Created 9 years, 11 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 | Annotate | Revision Log
« no previous file with comments | « net/http/http_auth_controller.cc ('k') | net/http/http_auth_handler.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 #ifndef NET_HTTP_HTTP_AUTH_HANDLER_H_ 5 #ifndef NET_HTTP_HTTP_AUTH_HANDLER_H_
6 #define NET_HTTP_HTTP_AUTH_HANDLER_H_ 6 #define NET_HTTP_HTTP_AUTH_HANDLER_H_
7 #pragma once 7 #pragma once
8 8
9 #include <string> 9 #include <string>
10 10
11 #include "base/string16.h" 11 #include "base/string16.h"
12 #include "net/base/completion_callback.h" 12 #include "net/base/completion_callback.h"
13 #include "net/base/net_log.h" 13 #include "net/base/net_log.h"
14 #include "net/http/http_auth.h" 14 #include "net/http/http_auth.h"
15 15
16 namespace net { 16 namespace net {
17 17
18 struct HttpRequestInfo; 18 struct HttpRequestInfo;
19 19
20 // HttpAuthHandler is the interface for the authentication schemes 20 // HttpAuthHandler is the interface for the authentication schemes
21 // (basic, digest, NTLM, Negotiate). 21 // (basic, digest, NTLM, Negotiate).
22 // HttpAuthHandler objects are typically created by an HttpAuthHandlerFactory. 22 // HttpAuthHandler objects are typically created by an HttpAuthHandlerFactory.
23 class HttpAuthHandler { 23 class HttpAuthHandler {
24 public: 24 public:
25 enum AuthScheme {
26 AUTH_SCHEME_BASIC = 0,
27 AUTH_SCHEME_DIGEST,
28 AUTH_SCHEME_NTLM,
29 AUTH_SCHEME_NEGOTIATE,
30 AUTH_SCHEME_MAX,
31 };
32
33 HttpAuthHandler(); 25 HttpAuthHandler();
34 virtual ~HttpAuthHandler(); 26 virtual ~HttpAuthHandler();
35 27
36 // Initializes the handler using a challenge issued by a server. 28 // Initializes the handler using a challenge issued by a server.
37 // |challenge| must be non-NULL and have already tokenized the 29 // |challenge| must be non-NULL and have already tokenized the
38 // authentication scheme, but none of the tokens occuring after the 30 // authentication scheme, but none of the tokens occuring after the
39 // authentication scheme. |target| and |origin| are both stored 31 // authentication scheme. |target| and |origin| are both stored
40 // for later use, and are not part of the initial challenge. 32 // for later use, and are not part of the initial challenge.
41 bool InitFromChallenge(HttpAuth::ChallengeTokenizer* challenge, 33 bool InitFromChallenge(HttpAuth::ChallengeTokenizer* challenge,
42 HttpAuth::Target target, 34 HttpAuth::Target target,
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
77 // call. 69 // call.
78 // Otherwise, there was a problem generating a token synchronously, and the 70 // Otherwise, there was a problem generating a token synchronously, and the
79 // value of |*auth_token| is unspecified. 71 // value of |*auth_token| is unspecified.
80 int GenerateAuthToken(const string16* username, 72 int GenerateAuthToken(const string16* username,
81 const string16* password, 73 const string16* password,
82 const HttpRequestInfo* request, 74 const HttpRequestInfo* request,
83 CompletionCallback* callback, 75 CompletionCallback* callback,
84 std::string* auth_token); 76 std::string* auth_token);
85 77
86 // The authentication scheme as an enumerated value. 78 // The authentication scheme as an enumerated value.
87 AuthScheme auth_scheme() const { 79 HttpAuth::Scheme auth_scheme() const {
88 return auth_scheme_; 80 return auth_scheme_;
89 } 81 }
90 82
91 // Lowercase name of the auth scheme
92 const std::string& scheme() const {
93 return scheme_;
94 }
95
96 // The realm value that was parsed during Init(). 83 // The realm value that was parsed during Init().
97 const std::string& realm() const { 84 const std::string& realm() const {
98 return realm_; 85 return realm_;
99 } 86 }
100 87
101 // The challenge which was issued when creating the handler. 88 // The challenge which was issued when creating the handler.
102 const std::string challenge() const { 89 const std::string challenge() const {
103 return auth_challenge_; 90 return auth_challenge_;
104 } 91 }
105 92
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
164 // |GenerateAuthTokenImpl()} is the auth-scheme specific implementation 151 // |GenerateAuthTokenImpl()} is the auth-scheme specific implementation
165 // of generating the next auth token. Callers sohuld use |GenerateAuthToken()| 152 // of generating the next auth token. Callers sohuld use |GenerateAuthToken()|
166 // which will in turn call |GenerateAuthTokenImpl()| 153 // which will in turn call |GenerateAuthTokenImpl()|
167 virtual int GenerateAuthTokenImpl(const string16* username, 154 virtual int GenerateAuthTokenImpl(const string16* username,
168 const string16* password, 155 const string16* password,
169 const HttpRequestInfo* request, 156 const HttpRequestInfo* request,
170 CompletionCallback* callback, 157 CompletionCallback* callback,
171 std::string* auth_token) = 0; 158 std::string* auth_token) = 0;
172 159
173 // The auth-scheme as an enumerated value. 160 // The auth-scheme as an enumerated value.
174 AuthScheme auth_scheme_; 161 HttpAuth::Scheme auth_scheme_;
175
176 // The lowercase auth-scheme {"basic", "digest", "ntlm", "negotiate"}
177 std::string scheme_;
178 162
179 // The realm. Used by "basic" and "digest". 163 // The realm. Used by "basic" and "digest".
180 std::string realm_; 164 std::string realm_;
181 165
182 // The auth challenge. 166 // The auth challenge.
183 std::string auth_challenge_; 167 std::string auth_challenge_;
184 168
185 // The {scheme, host, port} for the authentication target. Used by "ntlm" 169 // The {scheme, host, port} for the authentication target. Used by "ntlm"
186 // and "negotiate" to construct the service principal name. 170 // and "negotiate" to construct the service principal name.
187 GURL origin_; 171 GURL origin_;
(...skipping 14 matching lines...) Expand all
202 void OnGenerateAuthTokenComplete(int rv); 186 void OnGenerateAuthTokenComplete(int rv);
203 void FinishGenerateAuthToken(); 187 void FinishGenerateAuthToken();
204 188
205 CompletionCallback* original_callback_; 189 CompletionCallback* original_callback_;
206 CompletionCallbackImpl<HttpAuthHandler> wrapper_callback_; 190 CompletionCallbackImpl<HttpAuthHandler> wrapper_callback_;
207 }; 191 };
208 192
209 } // namespace net 193 } // namespace net
210 194
211 #endif // NET_HTTP_HTTP_AUTH_HANDLER_H_ 195 #endif // NET_HTTP_HTTP_AUTH_HANDLER_H_
OLDNEW
« no previous file with comments | « net/http/http_auth_controller.cc ('k') | net/http/http_auth_handler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698