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

Unified Diff: net/test/url_request/url_request_failed_job.cc

Issue 1459993003: [Cronet] Continue UrlRequest with NULL certificate if Client cert is requested. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Self review Created 5 years, 1 month 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 side-by-side diff with in-line comments
Download patch
Index: net/test/url_request/url_request_failed_job.cc
diff --git a/net/test/url_request/url_request_failed_job.cc b/net/test/url_request/url_request_failed_job.cc
index d7c479b14f719842b43379380cac89f9f7fe0c90..faf5e32e23f8b6b778e303f84431f57ef7890c16 100644
--- a/net/test/url_request/url_request_failed_job.cc
+++ b/net/test/url_request/url_request_failed_job.cc
@@ -14,6 +14,7 @@
#include "net/base/net_errors.h"
#include "net/base/url_util.h"
#include "net/http/http_response_headers.h"
+#include "net/ssl/ssl_cert_request_info.h"
#include "net/url_request/url_request.h"
#include "net/url_request/url_request_filter.h"
#include "net/url_request/url_request_interceptor.h"
@@ -29,6 +30,7 @@ const char* kFailurePhase[]{
"start", // START
"readsync", // READ_SYNC
"readasync", // READ_ASYNC
+ "certreq", // CERT_REQUESTED
};
static_assert(arraysize(kFailurePhase) ==
@@ -69,7 +71,7 @@ GURL GetMockUrl(const std::string& scheme,
URLRequestFailedJob::FailurePhase phase,
int net_error) {
CHECK_GE(phase, URLRequestFailedJob::FailurePhase::START);
- CHECK_LE(phase, URLRequestFailedJob::FailurePhase::READ_ASYNC);
+ CHECK_LE(phase, URLRequestFailedJob::FailurePhase::CERT_REQUESTED);
svaldez 2015/11/20 16:30:10 Shouldn't this just be CHECK_LT(..., MAX_FAILURE_P
mef 2015/11/20 16:44:06 Done.
CHECK_LT(net_error, OK);
return GURL(scheme + "://" + hostname + "/error?" + kFailurePhase[phase] +
"=" + base::IntToString(net_error));
@@ -86,7 +88,7 @@ URLRequestFailedJob::URLRequestFailedJob(URLRequest* request,
net_error_(net_error),
weak_factory_(this) {
CHECK_GE(phase, URLRequestFailedJob::FailurePhase::START);
- CHECK_LE(phase, URLRequestFailedJob::FailurePhase::READ_ASYNC);
+ CHECK_LE(phase, URLRequestFailedJob::FailurePhase::CERT_REQUESTED);
svaldez 2015/11/20 16:30:10 see above.
mef 2015/11/20 16:44:06 Done.
CHECK_LT(net_error, OK);
}
@@ -120,6 +122,12 @@ int URLRequestFailedJob::GetResponseCode() const {
return URLRequestJob::GetResponseCode();
}
+void URLRequestFailedJob::ContinueWithCertificate(
+ X509Certificate* client_cert,
+ SSLPrivateKey* client_private_key) {
+ NotifyStartError(URLRequestStatus::FromError(net_error_));
+}
+
void URLRequestFailedJob::GetResponseInfo(HttpResponseInfo* info) {
*info = response_info_;
}
@@ -184,6 +192,11 @@ void URLRequestFailedJob::StartAsync() {
SetStatus(URLRequestStatus(URLRequestStatus::IO_PENDING, 0));
return;
}
+ if (phase_ == CERT_REQUESTED) {
+ scoped_refptr<SSLCertRequestInfo> request_all(new SSLCertRequestInfo());
+ NotifyCertificateRequested(request_all.get());
+ return;
+ }
response_info_.headers = new net::HttpResponseHeaders("HTTP/1.1 200 OK");
NotifyHeadersComplete();
}

Powered by Google App Engine
This is Rietveld 408576698