summaryrefslogtreecommitdiffstats
path: root/net/url_request
diff options
context:
space:
mode:
Diffstat (limited to 'net/url_request')
-rw-r--r--net/url_request/url_request.cc6
-rw-r--r--net/url_request/url_request.h2
-rw-r--r--net/url_request/url_request_ftp_job.cc18
-rw-r--r--net/url_request/url_request_ftp_job.h16
-rw-r--r--net/url_request/url_request_http_job.cc20
-rw-r--r--net/url_request/url_request_http_job.h11
-rw-r--r--net/url_request/url_request_job.cc3
-rw-r--r--net/url_request/url_request_job.h5
-rw-r--r--net/url_request/url_request_test_util.cc4
-rw-r--r--net/url_request/url_request_test_util.h9
-rw-r--r--net/url_request/url_request_unittest.cc33
11 files changed, 47 insertions, 80 deletions
diff --git a/net/url_request/url_request.cc b/net/url_request/url_request.cc
index b46b6cc..20f0b9c 100644
--- a/net/url_request/url_request.cc
+++ b/net/url_request/url_request.cc
@@ -616,11 +616,11 @@ void URLRequest::FollowDeferredRedirect() {
job_->FollowDeferredRedirect();
}
-void URLRequest::SetAuth(const string16& username, const string16& password) {
+void URLRequest::SetAuth(const AuthCredentials& credentials) {
DCHECK(job_);
DCHECK(job_->NeedsAuth());
- job_->SetAuth(username, password);
+ job_->SetAuth(credentials);
}
void URLRequest::CancelAuth() {
@@ -819,7 +819,7 @@ void URLRequest::NotifyAuthRequiredComplete(
break;
case NetworkDelegate::AUTH_REQUIRED_RESPONSE_SET_AUTH:
- SetAuth(credentials.username, credentials.password);
+ SetAuth(credentials);
break;
case NetworkDelegate::AUTH_REQUIRED_RESPONSE_CANCEL_AUTH:
diff --git a/net/url_request/url_request.h b/net/url_request/url_request.h
index 6b23f54..712460b 100644
--- a/net/url_request/url_request.h
+++ b/net/url_request/url_request.h
@@ -604,7 +604,7 @@ class NET_EXPORT URLRequest : NON_EXPORTED_BASE(public base::NonThreadSafe) {
// OnAuthRequired() callback (and only then).
// SetAuth will reissue the request with the given credentials.
// CancelAuth will give up and display the error page.
- void SetAuth(const string16& username, const string16& password);
+ void SetAuth(const AuthCredentials& credentials);
void CancelAuth();
// This method can be called after the user selects a client certificate to
diff --git a/net/url_request/url_request_ftp_job.cc b/net/url_request/url_request_ftp_job.cc
index b14d88d..669a889 100644
--- a/net/url_request/url_request_ftp_job.cc
+++ b/net/url_request/url_request_ftp_job.cc
@@ -107,9 +107,7 @@ void URLRequestFtpJob::OnStartCompleted(int result) {
GURL origin = request_->url().GetOrigin();
if (server_auth_ && server_auth_->state == AUTH_STATE_HAVE_AUTH) {
request_->context()->ftp_auth_cache()->Remove(
- origin,
- server_auth_->credentials.username,
- server_auth_->credentials.password);
+ origin, server_auth_->credentials);
} else if (!server_auth_) {
server_auth_ = new AuthData();
}
@@ -120,8 +118,7 @@ void URLRequestFtpJob::OnStartCompleted(int result) {
if (cached_auth) {
// Retry using cached auth data.
- SetAuth(cached_auth->username,
- cached_auth->password);
+ SetAuth(cached_auth->credentials);
} else {
// Prompt for a username/password.
NotifyHeadersComplete();
@@ -151,8 +148,7 @@ void URLRequestFtpJob::RestartTransactionWithAuth() {
// be notifying our consumer asynchronously via OnStartCompleted.
SetStatus(URLRequestStatus(URLRequestStatus::IO_PENDING, 0));
- int rv = transaction_->RestartWithAuth(server_auth_->credentials.username,
- server_auth_->credentials.password,
+ int rv = transaction_->RestartWithAuth(server_auth_->credentials,
&start_callback_);
if (rv == ERR_IO_PENDING)
return;
@@ -203,15 +199,13 @@ void URLRequestFtpJob::GetAuthChallengeInfo(
result->swap(auth_info);
}
-void URLRequestFtpJob::SetAuth(const string16& username,
- const string16& password) {
+void URLRequestFtpJob::SetAuth(const AuthCredentials& credentials) {
DCHECK(NeedsAuth());
server_auth_->state = AUTH_STATE_HAVE_AUTH;
- server_auth_->credentials.username = username;
- server_auth_->credentials.password = password;
+ server_auth_->credentials = credentials;
request_->context()->ftp_auth_cache()->Add(request_->url().GetOrigin(),
- username, password);
+ server_auth_->credentials);
RestartTransactionWithAuth();
}
diff --git a/net/url_request/url_request_ftp_job.h b/net/url_request/url_request_ftp_job.h
index 1285d7b..5cee887 100644
--- a/net/url_request/url_request_ftp_job.h
+++ b/net/url_request/url_request_ftp_job.h
@@ -8,7 +8,6 @@
#include <string>
-#include "base/string16.h"
#include "base/task.h"
#include "net/base/auth.h"
#include "net/base/completion_callback.h"
@@ -46,15 +45,14 @@ class URLRequestFtpJob : public URLRequestJob {
void LogFtpServerType(char server_type);
// Overridden from URLRequestJob:
- virtual void Start();
- virtual void Kill();
- virtual LoadState GetLoadState() const;
- virtual bool NeedsAuth();
+ virtual void Start() OVERRIDE;
+ virtual void Kill() OVERRIDE;
+ virtual LoadState GetLoadState() const OVERRIDE;
+ virtual bool NeedsAuth() OVERRIDE;
virtual void GetAuthChallengeInfo(
- scoped_refptr<AuthChallengeInfo>* auth_info);
- virtual void SetAuth(const string16& username,
- const string16& password);
- virtual void CancelAuth();
+ scoped_refptr<AuthChallengeInfo>* auth_info) OVERRIDE;
+ virtual void SetAuth(const AuthCredentials& credentials) OVERRIDE;
+ virtual void CancelAuth() OVERRIDE;
// TODO(ibrar): Yet to give another look at this function.
virtual uint64 GetUploadProgress() const;
diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_request_http_job.cc
index 7e0d8da..7fca837a 100644
--- a/net/url_request/url_request_http_job.cc
+++ b/net/url_request/url_request_http_job.cc
@@ -282,7 +282,7 @@ void URLRequestHttpJob::NotifyHeadersComplete() {
// URLRequestTestHTTP.BasicAuthWithCookies
// where OnBeforeSendHeaders -> OnSendHeaders -> OnBeforeSendHeaders
// occurs.
- RestartTransactionWithAuth(string16(), string16());
+ RestartTransactionWithAuth(AuthCredentials());
return;
}
@@ -334,7 +334,7 @@ void URLRequestHttpJob::StartTransactionInternal() {
// NOTE: This method assumes that request_info_ is already setup properly.
// If we already have a transaction, then we should restart the transaction
- // with auth provided by username_ and password_.
+ // with auth provided by auth_credentials_.
int rv;
@@ -344,9 +344,8 @@ void URLRequestHttpJob::StartTransactionInternal() {
}
if (transaction_.get()) {
- rv = transaction_->RestartWithAuth(username_, password_, &start_callback_);
- username_.clear();
- password_.clear();
+ rv = transaction_->RestartWithAuth(auth_credentials_, &start_callback_);
+ auth_credentials_ = AuthCredentials();
} else {
DCHECK(request_->context());
DCHECK(request_->context()->http_transaction_factory());
@@ -765,10 +764,8 @@ void URLRequestHttpJob::OnReadCompleted(int result) {
}
void URLRequestHttpJob::RestartTransactionWithAuth(
- const string16& username,
- const string16& password) {
- username_ = username;
- password_ = password;
+ const AuthCredentials& credentials) {
+ auth_credentials_ = credentials;
// These will be reset in OnStartCompleted.
response_info_ = NULL;
@@ -997,8 +994,7 @@ void URLRequestHttpJob::GetAuthChallengeInfo(
*result = response_info_->auth_challenge;
}
-void URLRequestHttpJob::SetAuth(const string16& username,
- const string16& password) {
+void URLRequestHttpJob::SetAuth(const AuthCredentials& credentials) {
DCHECK(transaction_.get());
// Proxy gets set first, then WWW.
@@ -1009,7 +1005,7 @@ void URLRequestHttpJob::SetAuth(const string16& username,
server_auth_state_ = AUTH_STATE_HAVE_AUTH;
}
- RestartTransactionWithAuth(username, password);
+ RestartTransactionWithAuth(credentials);
}
void URLRequestHttpJob::CancelAuth() {
diff --git a/net/url_request/url_request_http_job.h b/net/url_request/url_request_http_job.h
index d8e8e19..d1594dd 100644
--- a/net/url_request/url_request_http_job.h
+++ b/net/url_request/url_request_http_job.h
@@ -12,7 +12,6 @@
#include "base/compiler_specific.h"
#include "base/memory/scoped_ptr.h"
#include "base/memory/weak_ptr.h"
-#include "base/string16.h"
#include "base/task.h"
#include "base/time.h"
#include "net/base/auth.h"
@@ -62,8 +61,7 @@ class URLRequestHttpJob : public URLRequestJob {
void OnReadCompleted(int result);
void NotifyBeforeSendHeadersCallback(int result);
- void RestartTransactionWithAuth(const string16& username,
- const string16& password);
+ void RestartTransactionWithAuth(const AuthCredentials& credentials);
// Overridden from URLRequestJob:
virtual void SetUpload(UploadData* upload) OVERRIDE;
@@ -82,8 +80,7 @@ class URLRequestHttpJob : public URLRequestJob {
virtual bool IsSafeRedirect(const GURL& location) OVERRIDE;
virtual bool NeedsAuth() OVERRIDE;
virtual void GetAuthChallengeInfo(scoped_refptr<AuthChallengeInfo>*) OVERRIDE;
- virtual void SetAuth(const string16& username,
- const string16& password) OVERRIDE;
+ virtual void SetAuth(const AuthCredentials& credentials) OVERRIDE;
virtual void CancelAuth() OVERRIDE;
virtual void ContinueWithCertificate(X509Certificate* client_cert) OVERRIDE;
virtual void ContinueDespiteLastError() OVERRIDE;
@@ -107,9 +104,7 @@ class URLRequestHttpJob : public URLRequestJob {
// Auth states for proxy and origin server.
AuthState proxy_auth_state_;
AuthState server_auth_state_;
-
- string16 username_;
- string16 password_;
+ AuthCredentials auth_credentials_;
OldCompletionCallbackImpl<URLRequestHttpJob> start_callback_;
OldCompletionCallbackImpl<URLRequestHttpJob> read_callback_;
diff --git a/net/url_request/url_request_job.cc b/net/url_request/url_request_job.cc
index 8390d8c..a9e9627 100644
--- a/net/url_request/url_request_job.cc
+++ b/net/url_request/url_request_job.cc
@@ -153,8 +153,7 @@ void URLRequestJob::GetAuthChallengeInfo(
NOTREACHED();
}
-void URLRequestJob::SetAuth(const string16& username,
- const string16& password) {
+void URLRequestJob::SetAuth(const AuthCredentials& credentials) {
// This will only be called if NeedsAuth() returns true, in which
// case the derived class should implement this!
NOTREACHED();
diff --git a/net/url_request/url_request_job.h b/net/url_request/url_request_job.h
index c219a3a..26d46d4 100644
--- a/net/url_request/url_request_job.h
+++ b/net/url_request/url_request_job.h
@@ -11,7 +11,6 @@
#include "base/memory/ref_counted.h"
#include "base/memory/scoped_ptr.h"
-#include "base/string16.h"
#include "base/system_monitor/system_monitor.h"
#include "base/task.h"
#include "base/time.h"
@@ -24,6 +23,7 @@
namespace net {
class AuthChallengeInfo;
+class AuthCredentials;
class CookieList;
class CookieOptions;
class HttpRequestHeaders;
@@ -152,8 +152,7 @@ class NET_EXPORT URLRequestJob : public base::RefCounted<URLRequestJob>,
scoped_refptr<AuthChallengeInfo>* auth_info);
// Resend the request with authentication credentials.
- virtual void SetAuth(const string16& username,
- const string16& password);
+ virtual void SetAuth(const AuthCredentials& credentials);
// Display the error page without asking for credentials again.
virtual void CancelAuth();
diff --git a/net/url_request/url_request_test_util.cc b/net/url_request/url_request_test_util.cc
index 768e520..3a75332 100644
--- a/net/url_request/url_request_test_util.cc
+++ b/net/url_request/url_request_test_util.cc
@@ -195,8 +195,8 @@ void TestDelegate::OnReceivedRedirect(net::URLRequest* request,
void TestDelegate::OnAuthRequired(net::URLRequest* request,
net::AuthChallengeInfo* auth_info) {
auth_required_ = true;
- if (!username_.empty() || !password_.empty()) {
- request->SetAuth(username_, password_);
+ if (!credentials_.Empty()) {
+ request->SetAuth(credentials_);
} else {
request->CancelAuth();
}
diff --git a/net/url_request/url_request_test_util.h b/net/url_request/url_request_test_util.h
index 56a8973..7ad071a 100644
--- a/net/url_request/url_request_test_util.h
+++ b/net/url_request/url_request_test_util.h
@@ -107,8 +107,9 @@ class TestDelegate : public net::URLRequest::Delegate {
allow_certificate_errors_ = val;
}
void set_cookie_options(int o) {cookie_options_bit_mask_ = o; }
- void set_username(const string16& u) { username_ = u; }
- void set_password(const string16& p) { password_ = p; }
+ void set_credentials(const net::AuthCredentials& credentials) {
+ credentials_ = credentials;
+ }
// query state
const std::string& data_received() const { return data_received_; }
@@ -156,9 +157,7 @@ class TestDelegate : public net::URLRequest::Delegate {
bool quit_on_redirect_;
bool allow_certificate_errors_;
int cookie_options_bit_mask_;
-
- string16 username_;
- string16 password_;
+ net::AuthCredentials credentials_;
// tracks status of callbacks
int response_started_count_;
diff --git a/net/url_request/url_request_unittest.cc b/net/url_request/url_request_unittest.cc
index 53ba466..fbd6d27 100644
--- a/net/url_request/url_request_unittest.cc
+++ b/net/url_request/url_request_unittest.cc
@@ -599,8 +599,7 @@ TEST_F(URLRequestTestHTTP, NetworkDelegateOnAuthRequiredSyncNoAction) {
context->set_network_delegate(&network_delegate);
context->Init();
- d.set_username(kUser);
- d.set_password(kSecret);
+ d.set_credentials(AuthCredentials(kUser, kSecret));
{
GURL url(test_server_.GetURL("auth-basic"));
@@ -629,10 +628,7 @@ TEST_F(URLRequestTestHTTP, NetworkDelegateOnAuthRequiredSyncSetAuth) {
network_delegate.set_auth_retval(
NetworkDelegate::AUTH_REQUIRED_RESPONSE_SET_AUTH);
- AuthCredentials auth_credentials;
- auth_credentials.username = kUser;
- auth_credentials.password = kSecret;
- network_delegate.set_auth_credentials(auth_credentials);
+ network_delegate.set_auth_credentials(AuthCredentials(kUser, kSecret));
scoped_refptr<TestURLRequestContext> context(new TestURLRequestContext(true));
context->set_network_delegate(&network_delegate);
@@ -704,8 +700,7 @@ TEST_F(URLRequestTestHTTP, NetworkDelegateOnAuthRequiredAsyncNoAction) {
context->set_network_delegate(&network_delegate);
context->Init();
- d.set_username(kUser);
- d.set_password(kSecret);
+ d.set_credentials(AuthCredentials(kUser, kSecret));
{
GURL url(test_server_.GetURL("auth-basic"));
@@ -736,9 +731,7 @@ TEST_F(URLRequestTestHTTP, NetworkDelegateOnAuthRequiredAsyncSetAuth) {
network_delegate.set_auth_callback_retval(
NetworkDelegate::AUTH_REQUIRED_RESPONSE_SET_AUTH);
- AuthCredentials auth_credentials;
- auth_credentials.username = kUser;
- auth_credentials.password = kSecret;
+ AuthCredentials auth_credentials(kUser, kSecret);
network_delegate.set_auth_credentials(auth_credentials);
scoped_refptr<TestURLRequestContext> context(new TestURLRequestContext(true));
@@ -1951,8 +1944,7 @@ TEST_F(URLRequestTestHTTP, BasicAuth) {
// populate the cache
{
TestDelegate d;
- d.set_username(kUser);
- d.set_password(kSecret);
+ d.set_credentials(AuthCredentials(kUser, kSecret));
URLRequest r(test_server_.GetURL("auth-basic"), &d);
r.set_context(default_context_);
@@ -1968,8 +1960,7 @@ TEST_F(URLRequestTestHTTP, BasicAuth) {
// response should be fetched from the cache.
{
TestDelegate d;
- d.set_username(kUser);
- d.set_password(kSecret);
+ d.set_credentials(AuthCredentials(kUser, kSecret));
URLRequest r(test_server_.GetURL("auth-basic"), &d);
r.set_context(default_context_);
@@ -2003,8 +1994,7 @@ TEST_F(URLRequestTestHTTP, BasicAuthWithCookies) {
context->Init();
TestDelegate d;
- d.set_username(kUser);
- d.set_password(kSecret);
+ d.set_credentials(AuthCredentials(kUser, kSecret));
URLRequest r(url_requiring_auth, &d);
r.set_context(context);
@@ -3270,8 +3260,7 @@ TEST_F(URLRequestTestFTP, FLAKY_FTPCheckWrongPasswordRestart) {
TestDelegate d;
// Set correct login credentials. The delegate will be asked for them when
// the initial login with wrong credentials will fail.
- d.set_username(kChrome);
- d.set_password(kChrome);
+ d.set_credentials(AuthCredentials(kChrome, kChrome));
{
TestURLRequest r(
test_server_.GetURLWithUserAndPassword("/LICENSE",
@@ -3334,8 +3323,7 @@ TEST_F(URLRequestTestFTP, FLAKY_FTPCheckWrongUserRestart) {
TestDelegate d;
// Set correct login credentials. The delegate will be asked for them when
// the initial login with wrong credentials will fail.
- d.set_username(kChrome);
- d.set_password(kChrome);
+ d.set_credentials(AuthCredentials(kChrome, kChrome));
{
TestURLRequest r(
test_server_.GetURLWithUserAndPassword("/LICENSE",
@@ -3420,8 +3408,7 @@ TEST_F(URLRequestTestFTP, FLAKY_FTPCacheLoginBoxCredentials) {
scoped_ptr<TestDelegate> d(new TestDelegate);
// Set correct login credentials. The delegate will be asked for them when
// the initial login with wrong credentials will fail.
- d->set_username(kChrome);
- d->set_password(kChrome);
+ d->set_credentials(AuthCredentials(kChrome, kChrome));
{
TestURLRequest r(
test_server_.GetURLWithUserAndPassword("/LICENSE",