| // Copyright 2012 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "net/url_request/url_request_netlog_params.h" |
| |
| #include <utility> |
| |
| #include "base/strings/string_number_conversions.h" |
| #include "base/values.h" |
| #include "net/base/network_isolation_key.h" |
| #include "net/cookies/site_for_cookies.h" |
| #include "net/log/net_log_capture_mode.h" |
| #include "url/gurl.h" |
| #include "url/origin.h" |
| |
| namespace net { |
| |
| base::Value::Dict NetLogURLRequestConstructorParams( |
| const GURL& url, |
| RequestPriority priority, |
| NetworkTrafficAnnotationTag traffic_annotation) { |
| base::Value::Dict dict; |
| dict.Set("url", url.possibly_invalid_spec()); |
| dict.Set("priority", RequestPriorityToString(priority)); |
| dict.Set("traffic_annotation", traffic_annotation.unique_id_hash_code); |
| return dict; |
| } |
| |
| base::Value::Dict NetLogURLRequestStartParams( |
| const GURL& url, |
| const std::string& method, |
| int load_flags, |
| const IsolationInfo& isolation_info, |
| const SiteForCookies& site_for_cookies, |
| const absl::optional<url::Origin>& initiator, |
| int64_t upload_id) { |
| base::Value::Dict dict; |
| dict.Set("url", url.possibly_invalid_spec()); |
| dict.Set("method", method); |
| dict.Set("load_flags", load_flags); |
| dict.Set("network_isolation_key", |
| isolation_info.network_isolation_key().ToDebugString()); |
| std::string request_type; |
| switch (isolation_info.request_type()) { |
| case IsolationInfo::RequestType::kMainFrame: |
| request_type = "main frame"; |
| break; |
| case IsolationInfo::RequestType::kSubFrame: |
| request_type = "subframe"; |
| break; |
| case IsolationInfo::RequestType::kOther: |
| request_type = "other"; |
| break; |
| } |
| dict.Set("request_type", request_type); |
| dict.Set("site_for_cookies", site_for_cookies.ToDebugString()); |
| dict.Set("initiator", |
| initiator.has_value() ? initiator->Serialize() : "not an origin"); |
| if (upload_id > -1) |
| dict.Set("upload_id", base::NumberToString(upload_id)); |
| return dict; |
| } |
| |
| } // namespace net |