123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- // Copyright (c) 2011 The Chromium Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style license that can be
- // found in the LICENSE file.
- #ifndef NET_HTTP_HTTP_AUTH_HANDLER_BASIC_H_
- #define NET_HTTP_HTTP_AUTH_HANDLER_BASIC_H_
- #include <memory>
- #include <string>
- #include "net/base/completion_once_callback.h"
- #include "net/base/net_export.h"
- #include "net/http/http_auth_handler.h"
- #include "net/http/http_auth_handler_factory.h"
- namespace net {
- // Code for handling http basic authentication.
- class NET_EXPORT_PRIVATE HttpAuthHandlerBasic : public HttpAuthHandler {
- public:
- class NET_EXPORT_PRIVATE Factory : public HttpAuthHandlerFactory {
- public:
- Factory();
- ~Factory() override;
- int CreateAuthHandler(HttpAuthChallengeTokenizer* challenge,
- HttpAuth::Target target,
- const SSLInfo& ssl_info,
- const NetworkIsolationKey& network_isolation_key,
- const url::SchemeHostPort& scheme_host_port,
- CreateReason reason,
- int digest_nonce_count,
- const NetLogWithSource& net_log,
- HostResolver* host_resolver,
- std::unique_ptr<HttpAuthHandler>* handler) override;
- };
- ~HttpAuthHandlerBasic() override = default;
- private:
- // HttpAuthHandler
- bool Init(HttpAuthChallengeTokenizer* challenge,
- const SSLInfo& ssl_info,
- const NetworkIsolationKey& network_isolation_key) override;
- int GenerateAuthTokenImpl(const AuthCredentials* credentials,
- const HttpRequestInfo* request,
- CompletionOnceCallback callback,
- std::string* auth_token) override;
- HttpAuth::AuthorizationResult HandleAnotherChallengeImpl(
- HttpAuthChallengeTokenizer* challenge) override;
- bool ParseChallenge(HttpAuthChallengeTokenizer* challenge);
- };
- } // namespace net
- #endif // NET_HTTP_HTTP_AUTH_HANDLER_BASIC_H_
|