| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 #include "chrome/browser/ssl/chrome_expect_ct_reporter.h" | 5 #include "chrome/browser/ssl/chrome_expect_ct_reporter.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "base/base64.h" | 9 #include "base/base64.h" |
| 10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
| (...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 99 std::string signature; | 99 std::string signature; |
| 100 base::Base64Encode(sct_and_status.sct->signature.signature_data, &signature); | 100 base::Base64Encode(sct_and_status.sct->signature.signature_data, &signature); |
| 101 sct->SetString("signature", signature); | 101 sct->SetString("signature", signature); |
| 102 | 102 |
| 103 list_item->Set("sct", std::move(sct)); | 103 list_item->Set("sct", std::move(sct)); |
| 104 list->Append(std::move(list_item)); | 104 list->Append(std::move(list_item)); |
| 105 } | 105 } |
| 106 | 106 |
| 107 // Records an UMA histogram of the net errors when Expect CT reports | 107 // Records an UMA histogram of the net errors when Expect CT reports |
| 108 // fail to send. | 108 // fail to send. |
| 109 void RecordUMAOnFailure(const GURL& report_uri, int net_error) { | 109 void RecordUMAOnFailure(const GURL& report_uri, |
| 110 int net_error, |
| 111 int http_response_code) { |
| 110 UMA_HISTOGRAM_SPARSE_SLOWLY("SSL.ExpectCTReportFailure2", -net_error); | 112 UMA_HISTOGRAM_SPARSE_SLOWLY("SSL.ExpectCTReportFailure2", -net_error); |
| 111 } | 113 } |
| 112 | 114 |
| 113 } // namespace | 115 } // namespace |
| 114 | 116 |
| 115 ChromeExpectCTReporter::ChromeExpectCTReporter( | 117 ChromeExpectCTReporter::ChromeExpectCTReporter( |
| 116 net::URLRequestContext* request_context) | 118 net::URLRequestContext* request_context) |
| 117 : report_sender_( | 119 : report_sender_( |
| 118 new net::ReportSender(request_context, | 120 new net::ReportSender(request_context, |
| 119 net::ReportSender::DO_NOT_SEND_COOKIES)) {} | 121 net::ReportSender::DO_NOT_SEND_COOKIES)) {} |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 169 | 171 |
| 170 std::string serialized_report; | 172 std::string serialized_report; |
| 171 if (!base::JSONWriter::Write(report, &serialized_report)) { | 173 if (!base::JSONWriter::Write(report, &serialized_report)) { |
| 172 LOG(ERROR) << "Failed to serialize Expect CT report"; | 174 LOG(ERROR) << "Failed to serialize Expect CT report"; |
| 173 return; | 175 return; |
| 174 } | 176 } |
| 175 | 177 |
| 176 UMA_HISTOGRAM_BOOLEAN("SSL.ExpectCTReportSendingAttempt", true); | 178 UMA_HISTOGRAM_BOOLEAN("SSL.ExpectCTReportSendingAttempt", true); |
| 177 | 179 |
| 178 report_sender_->Send(report_uri, "application/json; charset=utf-8", | 180 report_sender_->Send(report_uri, "application/json; charset=utf-8", |
| 179 serialized_report, base::Closure(), | 181 serialized_report, base::Callback<void()>(), |
| 180 base::Bind(RecordUMAOnFailure)); | 182 base::Bind(RecordUMAOnFailure)); |
| 181 } | 183 } |
| OLD | NEW |