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

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

Issue 3199002: --auth-schemes specifies which authentication schemes are supported on the co... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 10 years, 4 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 | « chrome/common/chrome_switches.cc ('k') | net/http/http_auth_handler_factory.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_FACTORY_H_ 5 #ifndef NET_HTTP_HTTP_AUTH_HANDLER_FACTORY_H_
6 #define NET_HTTP_HTTP_AUTH_HANDLER_FACTORY_H_ 6 #define NET_HTTP_HTTP_AUTH_HANDLER_FACTORY_H_
7 #pragma once 7 #pragma once
8 8
9 #include <map> 9 #include <map>
10 #include <string> 10 #include <string>
11 #include <vector>
11 12
12 #include "base/scoped_ptr.h" 13 #include "base/scoped_ptr.h"
13 #include "net/http/http_auth.h" 14 #include "net/http/http_auth.h"
14 #include "net/http/url_security_manager.h" 15 #include "net/http/url_security_manager.h"
15 16
16 class GURL; 17 class GURL;
17 18
18 namespace net { 19 namespace net {
19 20
20 class BoundNetLog; 21 class BoundNetLog;
22 class HostResolver;
21 class HttpAuthHandler; 23 class HttpAuthHandler;
22 class HttpAuthHandlerRegistryFactory; 24 class HttpAuthHandlerRegistryFactory;
23 25
24 // An HttpAuthHandlerFactory is used to create HttpAuthHandler objects. 26 // An HttpAuthHandlerFactory is used to create HttpAuthHandler objects.
25 class HttpAuthHandlerFactory { 27 class HttpAuthHandlerFactory {
26 public: 28 public:
27 HttpAuthHandlerFactory() : url_security_manager_(NULL) {} 29 HttpAuthHandlerFactory() : url_security_manager_(NULL) {}
28 virtual ~HttpAuthHandlerFactory() {} 30 virtual ~HttpAuthHandlerFactory() {}
29 31
30 // Sets an URL security manager. HttpAuthHandlerFactory doesn't own the URL 32 // Sets an URL security manager. HttpAuthHandlerFactory doesn't own the URL
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
145 // Creates an auth handler by dispatching out to the registered factories 147 // Creates an auth handler by dispatching out to the registered factories
146 // based on the first token in |challenge|. 148 // based on the first token in |challenge|.
147 virtual int CreateAuthHandler(HttpAuth::ChallengeTokenizer* challenge, 149 virtual int CreateAuthHandler(HttpAuth::ChallengeTokenizer* challenge,
148 HttpAuth::Target target, 150 HttpAuth::Target target,
149 const GURL& origin, 151 const GURL& origin,
150 CreateReason reason, 152 CreateReason reason,
151 int digest_nonce_count, 153 int digest_nonce_count,
152 const BoundNetLog& net_log, 154 const BoundNetLog& net_log,
153 scoped_ptr<HttpAuthHandler>* handler); 155 scoped_ptr<HttpAuthHandler>* handler);
154 156
157 // Creates an HttpAuthHandlerRegistryFactory.
158 //
159 // |supported_schemes| is a list of authentication schemes. Valid values
160 // include "basic", "digest", "ntlm", and "negotiate", where case matters.
161 //
162 // |security_manager| is used by the NTLM and Negotiate authenticators
163 // to determine which servers Integrated Authentication can be used with. If
164 // NULL, Integrated Authentication will not be used with any server.
165 //
166 // |host_resolver| is used by the Negotiate authentication handler to perform
167 // CNAME lookups to generate a Kerberos SPN for the server. If the "negotiate"
168 // scheme is used and |negotiate_disable_cname_lookup| is false,
169 // |host_resolver| must not be NULL.
170 //
171 // |negotiate_disable_cname_lookup| and |negotiate_enable_port| both control
172 // how Negotiate does SPN generation, by default these should be false.
173 static HttpAuthHandlerRegistryFactory* Create(
174 const std::vector<std::string>& supported_schemes,
175 URLSecurityManager* security_manager,
176 HostResolver* host_resolver,
177 bool negotiate_disable_cname_lookup,
178 bool negotiate_enable_port);
179
155 private: 180 private:
156 typedef std::map<std::string, HttpAuthHandlerFactory*> FactoryMap; 181 typedef std::map<std::string, HttpAuthHandlerFactory*> FactoryMap;
157 182
158 FactoryMap factory_map_; 183 FactoryMap factory_map_;
159 DISALLOW_COPY_AND_ASSIGN(HttpAuthHandlerRegistryFactory); 184 DISALLOW_COPY_AND_ASSIGN(HttpAuthHandlerRegistryFactory);
160 }; 185 };
161 186
162 } // namespace net 187 } // namespace net
163 188
164 #endif // NET_HTTP_HTTP_AUTH_HANDLER_FACTORY_H_ 189 #endif // NET_HTTP_HTTP_AUTH_HANDLER_FACTORY_H_
OLDNEW
« no previous file with comments | « chrome/common/chrome_switches.cc ('k') | net/http/http_auth_handler_factory.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698