| // Copyright 2018 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| module network.mojom; |
| |
| import "mojo/public/mojom/base/time.mojom"; |
| import "url/mojom/scheme_host_port.mojom"; |
| |
| // Information related to an authentication challenge in an HTTP response. |
| // Typemapped to net::AuthChallengeInfo. |
| struct AuthChallengeInfo { |
| // True if the challenge was for proxy authentication. |
| bool is_proxy; |
| // The service issuing the challenge. |
| url.mojom.SchemeHostPort challenger; |
| // The authentication scheme used, such as "basic" or "digest". |
| string scheme; |
| // The realm of the authentication challenge. May be empty. |
| string realm; |
| // The authentication challenge. |
| string challenge; |
| // The path on which authentication was requested. |
| string path; |
| }; |
| |
| [Native] |
| struct AuthCredentials; |
| |
| [Native] |
| struct CertVerifyResult; |
| |
| [Native] |
| struct HttpResponseHeaders; |
| |
| struct HttpVersion { |
| uint16 major_value; |
| uint16 minor_value; |
| }; |
| |
| // Mirror of net::HostPortPair. |
| struct HostPortPair { |
| string host; |
| uint16 port; |
| }; |
| |
| // Mirror of net::ProxyServer::Scheme. |
| enum ProxyScheme { |
| kInvalid, |
| kHttp, |
| kSocks4, |
| kSocks5, |
| kHttps, |
| kQuic, |
| }; |
| |
| // Mirror of net::ProxyServer. |
| struct ProxyServer { |
| ProxyScheme scheme; |
| |
| // |host_and_port| field is set iff |scheme| is not INVALID or DIRECT. |
| HostPortPair? host_and_port; |
| }; |
| |
| // Mirror of net::ProxyChain. |
| struct ProxyChain { |
| // The sequence of servers in this chain, or if nullopt, an invalid chain. |
| array<ProxyServer>? proxy_servers; |
| |
| // IP Protection proxy chain ID, or -1 if not for IP protection. A `chain_id` |
| // greater than zero identifies a specific chain, as defined on the server. A |
| // `chain_id` of zero indicates an unidentified chain. Note that `chain_id` |
| // is not unique: chains with different `proxy_a` or `proxy_b` values may |
| // have the same `chain_id`. |
| int32 ip_protection_chain_id; |
| }; |
| |
| // Host resolution error info. |
| struct ResolveErrorInfo { |
| // Underlying network error code. See net/base/net_error_list.h for error |
| // descriptions. |
| int32 error; |
| |
| // Whether |error| came from a DNS-over-HTTPS lookup. This will be false if |
| // the answer was obtained from the cache or if |error| is net::OK since this |
| // field is intended to identify secure DNS *network* failures. |
| bool is_secure_network_error = false; |
| }; |
| |
| // Mirror of net::SSLCertRequestInfo. |
| struct SSLCertRequestInfo { |
| // The host and port of the SSL server that requested client authentication. |
| HostPortPair host_and_port; |
| |
| // True if the server that issues this request was the HTTPS proxy used in |
| // the request. False, if the server was the origin server. |
| bool is_proxy = false; |
| |
| // List of DER-encoded X.509 DistinguishedName of certificate authorities |
| // allowed by the server. |
| array<string> cert_authorities; |
| |
| // List of signature algorithms (using TLS 1.3 SignatureScheme constants) |
| // advertised as supported by the server. |
| array<uint16> signature_algorithms; |
| }; |
| |
| [Native] |
| struct SSLInfo; |
| |
| [Native] |
| struct X509Certificate; |
| |
| // Typemapped to net::NetLogSource. |
| struct NetLogSource { |
| uint32 source_type; |
| uint32 source_id; |
| mojo_base.mojom.TimeTicks start_time; |
| }; |