Skip to main content

cdp_protocol/
network.rs

1// Auto-generated from Chrome at version 146.0.7680.165 domain: Network
2#![allow(dead_code)]
3use super::debugger;
4use super::emulation;
5use super::io;
6use super::network;
7use super::page;
8use super::runtime;
9use super::security;
10#[allow(unused_imports)]
11use super::types::*;
12#[allow(unused_imports)]
13use derive_builder::Builder;
14#[allow(unused_imports)]
15use serde::{Deserialize, Serialize};
16#[allow(unused_imports)]
17use serde_json::Value as Json;
18pub type LoaderId = String;
19pub type RequestId = String;
20pub type InterceptionId = String;
21pub type TimeSinceEpoch = JsFloat;
22pub type MonotonicTime = JsFloat;
23pub type ReportId = String;
24pub type DeviceBoundSessionEventId = String;
25#[allow(deprecated)]
26#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
27pub enum ResourceType {
28    #[serde(rename = "Document")]
29    Document,
30    #[serde(rename = "Stylesheet")]
31    Stylesheet,
32    #[serde(rename = "Image")]
33    Image,
34    #[serde(rename = "Media")]
35    Media,
36    #[serde(rename = "Font")]
37    Font,
38    #[serde(rename = "Script")]
39    Script,
40    #[serde(rename = "TextTrack")]
41    TextTrack,
42    #[serde(rename = "XHR")]
43    Xhr,
44    #[serde(rename = "Fetch")]
45    Fetch,
46    #[serde(rename = "Prefetch")]
47    Prefetch,
48    #[serde(rename = "EventSource")]
49    EventSource,
50    #[serde(rename = "WebSocket")]
51    WebSocket,
52    #[serde(rename = "Manifest")]
53    Manifest,
54    #[serde(rename = "SignedExchange")]
55    SignedExchange,
56    #[serde(rename = "Ping")]
57    Ping,
58    #[serde(rename = "CSPViolationReport")]
59    CspViolationReport,
60    #[serde(rename = "Preflight")]
61    Preflight,
62    #[serde(rename = "FedCM")]
63    FedCm,
64    #[serde(rename = "Other")]
65    Other,
66}
67#[allow(deprecated)]
68#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
69pub enum ErrorReason {
70    #[serde(rename = "Failed")]
71    Failed,
72    #[serde(rename = "Aborted")]
73    Aborted,
74    #[serde(rename = "TimedOut")]
75    TimedOut,
76    #[serde(rename = "AccessDenied")]
77    AccessDenied,
78    #[serde(rename = "ConnectionClosed")]
79    ConnectionClosed,
80    #[serde(rename = "ConnectionReset")]
81    ConnectionReset,
82    #[serde(rename = "ConnectionRefused")]
83    ConnectionRefused,
84    #[serde(rename = "ConnectionAborted")]
85    ConnectionAborted,
86    #[serde(rename = "ConnectionFailed")]
87    ConnectionFailed,
88    #[serde(rename = "NameNotResolved")]
89    NameNotResolved,
90    #[serde(rename = "InternetDisconnected")]
91    InternetDisconnected,
92    #[serde(rename = "AddressUnreachable")]
93    AddressUnreachable,
94    #[serde(rename = "BlockedByClient")]
95    BlockedByClient,
96    #[serde(rename = "BlockedByResponse")]
97    BlockedByResponse,
98}
99#[allow(deprecated)]
100#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
101pub enum ConnectionType {
102    #[serde(rename = "none")]
103    None,
104    #[serde(rename = "cellular2g")]
105    Cellular2G,
106    #[serde(rename = "cellular3g")]
107    Cellular3G,
108    #[serde(rename = "cellular4g")]
109    Cellular4G,
110    #[serde(rename = "bluetooth")]
111    Bluetooth,
112    #[serde(rename = "ethernet")]
113    Ethernet,
114    #[serde(rename = "wifi")]
115    Wifi,
116    #[serde(rename = "wimax")]
117    Wimax,
118    #[serde(rename = "other")]
119    Other,
120}
121#[allow(deprecated)]
122#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
123pub enum CookieSameSite {
124    #[serde(rename = "Strict")]
125    Strict,
126    #[serde(rename = "Lax")]
127    Lax,
128    #[serde(rename = "None")]
129    None,
130}
131#[allow(deprecated)]
132#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
133pub enum CookiePriority {
134    #[serde(rename = "Low")]
135    Low,
136    #[serde(rename = "Medium")]
137    Medium,
138    #[serde(rename = "High")]
139    High,
140}
141#[allow(deprecated)]
142#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
143pub enum CookieSourceScheme {
144    #[serde(rename = "Unset")]
145    Unset,
146    #[serde(rename = "NonSecure")]
147    NonSecure,
148    #[serde(rename = "Secure")]
149    Secure,
150}
151#[allow(deprecated)]
152#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
153pub enum ResourcePriority {
154    #[serde(rename = "VeryLow")]
155    VeryLow,
156    #[serde(rename = "Low")]
157    Low,
158    #[serde(rename = "Medium")]
159    Medium,
160    #[serde(rename = "High")]
161    High,
162    #[serde(rename = "VeryHigh")]
163    VeryHigh,
164}
165#[allow(deprecated)]
166#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
167pub enum RenderBlockingBehavior {
168    #[serde(rename = "Blocking")]
169    Blocking,
170    #[serde(rename = "InBodyParserBlocking")]
171    InBodyParserBlocking,
172    #[serde(rename = "NonBlocking")]
173    NonBlocking,
174    #[serde(rename = "NonBlockingDynamic")]
175    NonBlockingDynamic,
176    #[serde(rename = "PotentiallyBlocking")]
177    PotentiallyBlocking,
178}
179#[allow(deprecated)]
180#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
181pub enum RequestReferrerPolicy {
182    #[serde(rename = "unsafe-url")]
183    UnsafeUrl,
184    #[serde(rename = "no-referrer-when-downgrade")]
185    NoReferrerWhenDowngrade,
186    #[serde(rename = "no-referrer")]
187    NoReferrer,
188    #[serde(rename = "origin")]
189    Origin,
190    #[serde(rename = "origin-when-cross-origin")]
191    OriginWhenCrossOrigin,
192    #[serde(rename = "same-origin")]
193    SameOrigin,
194    #[serde(rename = "strict-origin")]
195    StrictOrigin,
196    #[serde(rename = "strict-origin-when-cross-origin")]
197    StrictOriginWhenCrossOrigin,
198}
199#[allow(deprecated)]
200#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
201pub enum CertificateTransparencyCompliance {
202    #[serde(rename = "unknown")]
203    Unknown,
204    #[serde(rename = "not-compliant")]
205    NotCompliant,
206    #[serde(rename = "compliant")]
207    Compliant,
208}
209#[allow(deprecated)]
210#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
211pub enum BlockedReason {
212    #[serde(rename = "other")]
213    Other,
214    #[serde(rename = "csp")]
215    Csp,
216    #[serde(rename = "mixed-content")]
217    MixedContent,
218    #[serde(rename = "origin")]
219    Origin,
220    #[serde(rename = "inspector")]
221    Inspector,
222    #[serde(rename = "integrity")]
223    Integrity,
224    #[serde(rename = "subresource-filter")]
225    SubresourceFilter,
226    #[serde(rename = "content-type")]
227    ContentType,
228    #[serde(rename = "coep-frame-resource-needs-coep-header")]
229    CoepFrameResourceNeedsCoepHeader,
230    #[serde(rename = "coop-sandboxed-iframe-cannot-navigate-to-coop-page")]
231    CoopSandboxedIframeCannotNavigateToCoopPage,
232    #[serde(rename = "corp-not-same-origin")]
233    CorpNotSameOrigin,
234    #[serde(rename = "corp-not-same-origin-after-defaulted-to-same-origin-by-coep")]
235    CorpNotSameOriginAfterDefaultedToSameOriginByCoep,
236    #[serde(rename = "corp-not-same-origin-after-defaulted-to-same-origin-by-dip")]
237    CorpNotSameOriginAfterDefaultedToSameOriginByDip,
238    #[serde(rename = "corp-not-same-origin-after-defaulted-to-same-origin-by-coep-and-dip")]
239    CorpNotSameOriginAfterDefaultedToSameOriginByCoepAndDip,
240    #[serde(rename = "corp-not-same-site")]
241    CorpNotSameSite,
242    #[serde(rename = "sri-message-signature-mismatch")]
243    SriMessageSignatureMismatch,
244}
245#[allow(deprecated)]
246#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
247pub enum CorsError {
248    #[serde(rename = "DisallowedByMode")]
249    DisallowedByMode,
250    #[serde(rename = "InvalidResponse")]
251    InvalidResponse,
252    #[serde(rename = "WildcardOriginNotAllowed")]
253    WildcardOriginNotAllowed,
254    #[serde(rename = "MissingAllowOriginHeader")]
255    MissingAllowOriginHeader,
256    #[serde(rename = "MultipleAllowOriginValues")]
257    MultipleAllowOriginValues,
258    #[serde(rename = "InvalidAllowOriginValue")]
259    InvalidAllowOriginValue,
260    #[serde(rename = "AllowOriginMismatch")]
261    AllowOriginMismatch,
262    #[serde(rename = "InvalidAllowCredentials")]
263    InvalidAllowCredentials,
264    #[serde(rename = "CorsDisabledScheme")]
265    CorsDisabledScheme,
266    #[serde(rename = "PreflightInvalidStatus")]
267    PreflightInvalidStatus,
268    #[serde(rename = "PreflightDisallowedRedirect")]
269    PreflightDisallowedRedirect,
270    #[serde(rename = "PreflightWildcardOriginNotAllowed")]
271    PreflightWildcardOriginNotAllowed,
272    #[serde(rename = "PreflightMissingAllowOriginHeader")]
273    PreflightMissingAllowOriginHeader,
274    #[serde(rename = "PreflightMultipleAllowOriginValues")]
275    PreflightMultipleAllowOriginValues,
276    #[serde(rename = "PreflightInvalidAllowOriginValue")]
277    PreflightInvalidAllowOriginValue,
278    #[serde(rename = "PreflightAllowOriginMismatch")]
279    PreflightAllowOriginMismatch,
280    #[serde(rename = "PreflightInvalidAllowCredentials")]
281    PreflightInvalidAllowCredentials,
282    #[serde(rename = "PreflightMissingAllowExternal")]
283    PreflightMissingAllowExternal,
284    #[serde(rename = "PreflightInvalidAllowExternal")]
285    PreflightInvalidAllowExternal,
286    #[serde(rename = "InvalidAllowMethodsPreflightResponse")]
287    InvalidAllowMethodsPreflightResponse,
288    #[serde(rename = "InvalidAllowHeadersPreflightResponse")]
289    InvalidAllowHeadersPreflightResponse,
290    #[serde(rename = "MethodDisallowedByPreflightResponse")]
291    MethodDisallowedByPreflightResponse,
292    #[serde(rename = "HeaderDisallowedByPreflightResponse")]
293    HeaderDisallowedByPreflightResponse,
294    #[serde(rename = "RedirectContainsCredentials")]
295    RedirectContainsCredentials,
296    #[serde(rename = "InsecureLocalNetwork")]
297    InsecureLocalNetwork,
298    #[serde(rename = "InvalidLocalNetworkAccess")]
299    InvalidLocalNetworkAccess,
300    #[serde(rename = "NoCorsRedirectModeNotFollow")]
301    NoCorsRedirectModeNotFollow,
302    #[serde(rename = "LocalNetworkAccessPermissionDenied")]
303    LocalNetworkAccessPermissionDenied,
304}
305#[allow(deprecated)]
306#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
307pub enum ServiceWorkerResponseSource {
308    #[serde(rename = "cache-storage")]
309    CacheStorage,
310    #[serde(rename = "http-cache")]
311    HttpCache,
312    #[serde(rename = "fallback-code")]
313    FallbackCode,
314    #[serde(rename = "network")]
315    Network,
316}
317#[allow(deprecated)]
318#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
319pub enum TrustTokenParamsRefreshPolicy {
320    #[serde(rename = "UseCached")]
321    UseCached,
322    #[serde(rename = "Refresh")]
323    Refresh,
324}
325#[allow(deprecated)]
326#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
327pub enum TrustTokenOperationType {
328    #[serde(rename = "Issuance")]
329    Issuance,
330    #[serde(rename = "Redemption")]
331    Redemption,
332    #[serde(rename = "Signing")]
333    Signing,
334}
335#[allow(deprecated)]
336#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
337pub enum AlternateProtocolUsage {
338    #[serde(rename = "alternativeJobWonWithoutRace")]
339    AlternativeJobWonWithoutRace,
340    #[serde(rename = "alternativeJobWonRace")]
341    AlternativeJobWonRace,
342    #[serde(rename = "mainJobWonRace")]
343    MainJobWonRace,
344    #[serde(rename = "mappingMissing")]
345    MappingMissing,
346    #[serde(rename = "broken")]
347    Broken,
348    #[serde(rename = "dnsAlpnH3JobWonWithoutRace")]
349    DnsAlpnH3JobWonWithoutRace,
350    #[serde(rename = "dnsAlpnH3JobWonRace")]
351    DnsAlpnH3JobWonRace,
352    #[serde(rename = "unspecifiedReason")]
353    UnspecifiedReason,
354}
355#[allow(deprecated)]
356#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
357pub enum ServiceWorkerRouterSource {
358    #[serde(rename = "network")]
359    Network,
360    #[serde(rename = "cache")]
361    Cache,
362    #[serde(rename = "fetch-event")]
363    FetchEvent,
364    #[serde(rename = "race-network-and-fetch-handler")]
365    RaceNetworkAndFetchHandler,
366    #[serde(rename = "race-network-and-cache")]
367    RaceNetworkAndCache,
368}
369#[allow(deprecated)]
370#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
371pub enum InitiatorType {
372    #[serde(rename = "parser")]
373    Parser,
374    #[serde(rename = "script")]
375    Script,
376    #[serde(rename = "preload")]
377    Preload,
378    #[serde(rename = "SignedExchange")]
379    SignedExchange,
380    #[serde(rename = "preflight")]
381    Preflight,
382    #[serde(rename = "FedCM")]
383    FedCm,
384    #[serde(rename = "other")]
385    Other,
386}
387#[allow(deprecated)]
388#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
389pub enum SetCookieBlockedReason {
390    #[serde(rename = "SecureOnly")]
391    SecureOnly,
392    #[serde(rename = "SameSiteStrict")]
393    SameSiteStrict,
394    #[serde(rename = "SameSiteLax")]
395    SameSiteLax,
396    #[serde(rename = "SameSiteUnspecifiedTreatedAsLax")]
397    SameSiteUnspecifiedTreatedAsLax,
398    #[serde(rename = "SameSiteNoneInsecure")]
399    SameSiteNoneInsecure,
400    #[serde(rename = "UserPreferences")]
401    UserPreferences,
402    #[serde(rename = "ThirdPartyPhaseout")]
403    ThirdPartyPhaseout,
404    #[serde(rename = "ThirdPartyBlockedInFirstPartySet")]
405    ThirdPartyBlockedInFirstPartySet,
406    #[serde(rename = "SyntaxError")]
407    SyntaxError,
408    #[serde(rename = "SchemeNotSupported")]
409    SchemeNotSupported,
410    #[serde(rename = "OverwriteSecure")]
411    OverwriteSecure,
412    #[serde(rename = "InvalidDomain")]
413    InvalidDomain,
414    #[serde(rename = "InvalidPrefix")]
415    InvalidPrefix,
416    #[serde(rename = "UnknownError")]
417    UnknownError,
418    #[serde(rename = "SchemefulSameSiteStrict")]
419    SchemefulSameSiteStrict,
420    #[serde(rename = "SchemefulSameSiteLax")]
421    SchemefulSameSiteLax,
422    #[serde(rename = "SchemefulSameSiteUnspecifiedTreatedAsLax")]
423    SchemefulSameSiteUnspecifiedTreatedAsLax,
424    #[serde(rename = "NameValuePairExceedsMaxSize")]
425    NameValuePairExceedsMaxSize,
426    #[serde(rename = "DisallowedCharacter")]
427    DisallowedCharacter,
428    #[serde(rename = "NoCookieContent")]
429    NoCookieContent,
430}
431#[allow(deprecated)]
432#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
433pub enum CookieBlockedReason {
434    #[serde(rename = "SecureOnly")]
435    SecureOnly,
436    #[serde(rename = "NotOnPath")]
437    NotOnPath,
438    #[serde(rename = "DomainMismatch")]
439    DomainMismatch,
440    #[serde(rename = "SameSiteStrict")]
441    SameSiteStrict,
442    #[serde(rename = "SameSiteLax")]
443    SameSiteLax,
444    #[serde(rename = "SameSiteUnspecifiedTreatedAsLax")]
445    SameSiteUnspecifiedTreatedAsLax,
446    #[serde(rename = "SameSiteNoneInsecure")]
447    SameSiteNoneInsecure,
448    #[serde(rename = "UserPreferences")]
449    UserPreferences,
450    #[serde(rename = "ThirdPartyPhaseout")]
451    ThirdPartyPhaseout,
452    #[serde(rename = "ThirdPartyBlockedInFirstPartySet")]
453    ThirdPartyBlockedInFirstPartySet,
454    #[serde(rename = "UnknownError")]
455    UnknownError,
456    #[serde(rename = "SchemefulSameSiteStrict")]
457    SchemefulSameSiteStrict,
458    #[serde(rename = "SchemefulSameSiteLax")]
459    SchemefulSameSiteLax,
460    #[serde(rename = "SchemefulSameSiteUnspecifiedTreatedAsLax")]
461    SchemefulSameSiteUnspecifiedTreatedAsLax,
462    #[serde(rename = "NameValuePairExceedsMaxSize")]
463    NameValuePairExceedsMaxSize,
464    #[serde(rename = "PortMismatch")]
465    PortMismatch,
466    #[serde(rename = "SchemeMismatch")]
467    SchemeMismatch,
468    #[serde(rename = "AnonymousContext")]
469    AnonymousContext,
470}
471#[allow(deprecated)]
472#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
473pub enum CookieExemptionReason {
474    #[serde(rename = "None")]
475    None,
476    #[serde(rename = "UserSetting")]
477    UserSetting,
478    #[serde(rename = "TPCDMetadata")]
479    TpcdMetadata,
480    #[serde(rename = "TPCDDeprecationTrial")]
481    TpcdDeprecationTrial,
482    #[serde(rename = "TopLevelTPCDDeprecationTrial")]
483    TopLevelTpcdDeprecationTrial,
484    #[serde(rename = "TPCDHeuristics")]
485    TpcdHeuristics,
486    #[serde(rename = "EnterprisePolicy")]
487    EnterprisePolicy,
488    #[serde(rename = "StorageAccess")]
489    StorageAccess,
490    #[serde(rename = "TopLevelStorageAccess")]
491    TopLevelStorageAccess,
492    #[serde(rename = "Scheme")]
493    Scheme,
494    #[serde(rename = "SameSiteNoneCookiesInSandbox")]
495    SameSiteNoneCookiesInSandbox,
496}
497#[allow(deprecated)]
498#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
499pub enum AuthChallengeSource {
500    #[serde(rename = "Server")]
501    Server,
502    #[serde(rename = "Proxy")]
503    Proxy,
504}
505#[allow(deprecated)]
506#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
507pub enum AuthChallengeResponseResponse {
508    #[serde(rename = "Default")]
509    Default,
510    #[serde(rename = "CancelAuth")]
511    CancelAuth,
512    #[serde(rename = "ProvideCredentials")]
513    ProvideCredentials,
514}
515#[allow(deprecated)]
516#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
517pub enum InterceptionStage {
518    #[serde(rename = "Request")]
519    Request,
520    #[serde(rename = "HeadersReceived")]
521    HeadersReceived,
522}
523#[allow(deprecated)]
524#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
525pub enum SignedExchangeErrorField {
526    #[serde(rename = "signatureSig")]
527    SignatureSig,
528    #[serde(rename = "signatureIntegrity")]
529    SignatureIntegrity,
530    #[serde(rename = "signatureCertUrl")]
531    SignatureCertUrl,
532    #[serde(rename = "signatureCertSha256")]
533    SignatureCertSha256,
534    #[serde(rename = "signatureValidityUrl")]
535    SignatureValidityUrl,
536    #[serde(rename = "signatureTimestamps")]
537    SignatureTimestamps,
538}
539#[allow(deprecated)]
540#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
541pub enum ContentEncoding {
542    #[serde(rename = "deflate")]
543    Deflate,
544    #[serde(rename = "gzip")]
545    Gzip,
546    #[serde(rename = "br")]
547    Br,
548    #[serde(rename = "zstd")]
549    Zstd,
550}
551#[allow(deprecated)]
552#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
553pub enum DirectSocketDnsQueryType {
554    #[serde(rename = "ipv4")]
555    Ipv4,
556    #[serde(rename = "ipv6")]
557    Ipv6,
558}
559#[allow(deprecated)]
560#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
561pub enum LocalNetworkAccessRequestPolicy {
562    #[serde(rename = "Allow")]
563    Allow,
564    #[serde(rename = "BlockFromInsecureToMorePrivate")]
565    BlockFromInsecureToMorePrivate,
566    #[serde(rename = "WarnFromInsecureToMorePrivate")]
567    WarnFromInsecureToMorePrivate,
568    #[serde(rename = "PermissionBlock")]
569    PermissionBlock,
570    #[serde(rename = "PermissionWarn")]
571    PermissionWarn,
572}
573#[allow(deprecated)]
574#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
575pub enum IpAddressSpace {
576    #[serde(rename = "Loopback")]
577    Loopback,
578    #[serde(rename = "Local")]
579    Local,
580    #[serde(rename = "Public")]
581    Public,
582    #[serde(rename = "Unknown")]
583    Unknown,
584}
585#[allow(deprecated)]
586#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
587pub enum CrossOriginOpenerPolicyValue {
588    #[serde(rename = "SameOrigin")]
589    SameOrigin,
590    #[serde(rename = "SameOriginAllowPopups")]
591    SameOriginAllowPopups,
592    #[serde(rename = "RestrictProperties")]
593    RestrictProperties,
594    #[serde(rename = "UnsafeNone")]
595    UnsafeNone,
596    #[serde(rename = "SameOriginPlusCoep")]
597    SameOriginPlusCoep,
598    #[serde(rename = "RestrictPropertiesPlusCoep")]
599    RestrictPropertiesPlusCoep,
600    #[serde(rename = "NoopenerAllowPopups")]
601    NoopenerAllowPopups,
602}
603#[allow(deprecated)]
604#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
605pub enum CrossOriginEmbedderPolicyValue {
606    #[serde(rename = "None")]
607    None,
608    #[serde(rename = "Credentialless")]
609    Credentialless,
610    #[serde(rename = "RequireCorp")]
611    RequireCorp,
612}
613#[allow(deprecated)]
614#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
615pub enum ContentSecurityPolicySource {
616    #[serde(rename = "HTTP")]
617    Http,
618    #[serde(rename = "Meta")]
619    Meta,
620}
621#[allow(deprecated)]
622#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
623pub enum ReportStatus {
624    #[serde(rename = "Queued")]
625    Queued,
626    #[serde(rename = "Pending")]
627    Pending,
628    #[serde(rename = "MarkedForRemoval")]
629    MarkedForRemoval,
630    #[serde(rename = "Success")]
631    Success,
632}
633#[allow(deprecated)]
634#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
635pub enum DeviceBoundSessionWithUsageUsage {
636    #[serde(rename = "NotInScope")]
637    NotInScope,
638    #[serde(rename = "InScopeRefreshNotYetNeeded")]
639    InScopeRefreshNotYetNeeded,
640    #[serde(rename = "InScopeRefreshNotAllowed")]
641    InScopeRefreshNotAllowed,
642    #[serde(rename = "ProactiveRefreshNotPossible")]
643    ProactiveRefreshNotPossible,
644    #[serde(rename = "ProactiveRefreshAttempted")]
645    ProactiveRefreshAttempted,
646    #[serde(rename = "Deferred")]
647    Deferred,
648}
649#[allow(deprecated)]
650#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
651pub enum DeviceBoundSessionUrlRuleRuleType {
652    #[serde(rename = "Exclude")]
653    Exclude,
654    #[serde(rename = "Include")]
655    Include,
656}
657#[allow(deprecated)]
658#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
659pub enum DeviceBoundSessionFetchResult {
660    #[serde(rename = "Success")]
661    Success,
662    #[serde(rename = "KeyError")]
663    KeyError,
664    #[serde(rename = "SigningError")]
665    SigningError,
666    #[serde(rename = "ServerRequestedTermination")]
667    ServerRequestedTermination,
668    #[serde(rename = "InvalidSessionId")]
669    InvalidSessionId,
670    #[serde(rename = "InvalidChallenge")]
671    InvalidChallenge,
672    #[serde(rename = "TooManyChallenges")]
673    TooManyChallenges,
674    #[serde(rename = "InvalidFetcherUrl")]
675    InvalidFetcherUrl,
676    #[serde(rename = "InvalidRefreshUrl")]
677    InvalidRefreshUrl,
678    #[serde(rename = "TransientHttpError")]
679    TransientHttpError,
680    #[serde(rename = "ScopeOriginSameSiteMismatch")]
681    ScopeOriginSameSiteMismatch,
682    #[serde(rename = "RefreshUrlSameSiteMismatch")]
683    RefreshUrlSameSiteMismatch,
684    #[serde(rename = "MismatchedSessionId")]
685    MismatchedSessionId,
686    #[serde(rename = "MissingScope")]
687    MissingScope,
688    #[serde(rename = "NoCredentials")]
689    NoCredentials,
690    #[serde(rename = "SubdomainRegistrationWellKnownUnavailable")]
691    SubdomainRegistrationWellKnownUnavailable,
692    #[serde(rename = "SubdomainRegistrationUnauthorized")]
693    SubdomainRegistrationUnauthorized,
694    #[serde(rename = "SubdomainRegistrationWellKnownMalformed")]
695    SubdomainRegistrationWellKnownMalformed,
696    #[serde(rename = "SessionProviderWellKnownUnavailable")]
697    SessionProviderWellKnownUnavailable,
698    #[serde(rename = "RelyingPartyWellKnownUnavailable")]
699    RelyingPartyWellKnownUnavailable,
700    #[serde(rename = "FederatedKeyThumbprintMismatch")]
701    FederatedKeyThumbprintMismatch,
702    #[serde(rename = "InvalidFederatedSessionUrl")]
703    InvalidFederatedSessionUrl,
704    #[serde(rename = "InvalidFederatedKey")]
705    InvalidFederatedKey,
706    #[serde(rename = "TooManyRelyingOriginLabels")]
707    TooManyRelyingOriginLabels,
708    #[serde(rename = "BoundCookieSetForbidden")]
709    BoundCookieSetForbidden,
710    #[serde(rename = "NetError")]
711    NetError,
712    #[serde(rename = "ProxyError")]
713    ProxyError,
714    #[serde(rename = "EmptySessionConfig")]
715    EmptySessionConfig,
716    #[serde(rename = "InvalidCredentialsConfig")]
717    InvalidCredentialsConfig,
718    #[serde(rename = "InvalidCredentialsType")]
719    InvalidCredentialsType,
720    #[serde(rename = "InvalidCredentialsEmptyName")]
721    InvalidCredentialsEmptyName,
722    #[serde(rename = "InvalidCredentialsCookie")]
723    InvalidCredentialsCookie,
724    #[serde(rename = "PersistentHttpError")]
725    PersistentHttpError,
726    #[serde(rename = "RegistrationAttemptedChallenge")]
727    RegistrationAttemptedChallenge,
728    #[serde(rename = "InvalidScopeOrigin")]
729    InvalidScopeOrigin,
730    #[serde(rename = "ScopeOriginContainsPath")]
731    ScopeOriginContainsPath,
732    #[serde(rename = "RefreshInitiatorNotString")]
733    RefreshInitiatorNotString,
734    #[serde(rename = "RefreshInitiatorInvalidHostPattern")]
735    RefreshInitiatorInvalidHostPattern,
736    #[serde(rename = "InvalidScopeSpecification")]
737    InvalidScopeSpecification,
738    #[serde(rename = "MissingScopeSpecificationType")]
739    MissingScopeSpecificationType,
740    #[serde(rename = "EmptyScopeSpecificationDomain")]
741    EmptyScopeSpecificationDomain,
742    #[serde(rename = "EmptyScopeSpecificationPath")]
743    EmptyScopeSpecificationPath,
744    #[serde(rename = "InvalidScopeSpecificationType")]
745    InvalidScopeSpecificationType,
746    #[serde(rename = "InvalidScopeIncludeSite")]
747    InvalidScopeIncludeSite,
748    #[serde(rename = "MissingScopeIncludeSite")]
749    MissingScopeIncludeSite,
750    #[serde(rename = "FederatedNotAuthorizedByProvider")]
751    FederatedNotAuthorizedByProvider,
752    #[serde(rename = "FederatedNotAuthorizedByRelyingParty")]
753    FederatedNotAuthorizedByRelyingParty,
754    #[serde(rename = "SessionProviderWellKnownMalformed")]
755    SessionProviderWellKnownMalformed,
756    #[serde(rename = "SessionProviderWellKnownHasProviderOrigin")]
757    SessionProviderWellKnownHasProviderOrigin,
758    #[serde(rename = "RelyingPartyWellKnownMalformed")]
759    RelyingPartyWellKnownMalformed,
760    #[serde(rename = "RelyingPartyWellKnownHasRelyingOrigins")]
761    RelyingPartyWellKnownHasRelyingOrigins,
762    #[serde(rename = "InvalidFederatedSessionProviderSessionMissing")]
763    InvalidFederatedSessionProviderSessionMissing,
764    #[serde(rename = "InvalidFederatedSessionWrongProviderOrigin")]
765    InvalidFederatedSessionWrongProviderOrigin,
766    #[serde(rename = "InvalidCredentialsCookieCreationTime")]
767    InvalidCredentialsCookieCreationTime,
768    #[serde(rename = "InvalidCredentialsCookieName")]
769    InvalidCredentialsCookieName,
770    #[serde(rename = "InvalidCredentialsCookieParsing")]
771    InvalidCredentialsCookieParsing,
772    #[serde(rename = "InvalidCredentialsCookieUnpermittedAttribute")]
773    InvalidCredentialsCookieUnpermittedAttribute,
774    #[serde(rename = "InvalidCredentialsCookieInvalidDomain")]
775    InvalidCredentialsCookieInvalidDomain,
776    #[serde(rename = "InvalidCredentialsCookiePrefix")]
777    InvalidCredentialsCookiePrefix,
778    #[serde(rename = "InvalidScopeRulePath")]
779    InvalidScopeRulePath,
780    #[serde(rename = "InvalidScopeRuleHostPattern")]
781    InvalidScopeRuleHostPattern,
782    #[serde(rename = "ScopeRuleOriginScopedHostPatternMismatch")]
783    ScopeRuleOriginScopedHostPatternMismatch,
784    #[serde(rename = "ScopeRuleSiteScopedHostPatternMismatch")]
785    ScopeRuleSiteScopedHostPatternMismatch,
786    #[serde(rename = "SigningQuotaExceeded")]
787    SigningQuotaExceeded,
788    #[serde(rename = "InvalidConfigJson")]
789    InvalidConfigJson,
790    #[serde(rename = "InvalidFederatedSessionProviderFailedToRestoreKey")]
791    InvalidFederatedSessionProviderFailedToRestoreKey,
792    #[serde(rename = "FailedToUnwrapKey")]
793    FailedToUnwrapKey,
794    #[serde(rename = "SessionDeletedDuringRefresh")]
795    SessionDeletedDuringRefresh,
796}
797#[allow(deprecated)]
798#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
799pub enum RefreshEventDetailsRefreshResult {
800    #[serde(rename = "Refreshed")]
801    Refreshed,
802    #[serde(rename = "InitializedService")]
803    InitializedService,
804    #[serde(rename = "Unreachable")]
805    Unreachable,
806    #[serde(rename = "ServerError")]
807    ServerError,
808    #[serde(rename = "RefreshQuotaExceeded")]
809    RefreshQuotaExceeded,
810    #[serde(rename = "FatalError")]
811    FatalError,
812    #[serde(rename = "SigningQuotaExceeded")]
813    SigningQuotaExceeded,
814}
815#[allow(deprecated)]
816#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
817pub enum TerminationEventDetailsDeletionReason {
818    #[serde(rename = "Expired")]
819    Expired,
820    #[serde(rename = "FailedToRestoreKey")]
821    FailedToRestoreKey,
822    #[serde(rename = "FailedToUnwrapKey")]
823    FailedToUnwrapKey,
824    #[serde(rename = "StoragePartitionCleared")]
825    StoragePartitionCleared,
826    #[serde(rename = "ClearBrowsingData")]
827    ClearBrowsingData,
828    #[serde(rename = "ServerRequested")]
829    ServerRequested,
830    #[serde(rename = "InvalidSessionParams")]
831    InvalidSessionParams,
832    #[serde(rename = "RefreshFatalError")]
833    RefreshFatalError,
834}
835#[allow(deprecated)]
836#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
837pub enum ChallengeEventDetailsChallengeResult {
838    #[serde(rename = "Success")]
839    Success,
840    #[serde(rename = "NoSessionId")]
841    NoSessionId,
842    #[serde(rename = "NoSessionMatch")]
843    NoSessionMatch,
844    #[serde(rename = "CantSetBoundCookie")]
845    CantSetBoundCookie,
846}
847#[allow(deprecated)]
848#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
849pub enum TrustTokenOperationDoneStatusOption {
850    #[serde(rename = "Ok")]
851    Ok,
852    #[serde(rename = "InvalidArgument")]
853    InvalidArgument,
854    #[serde(rename = "MissingIssuerKeys")]
855    MissingIssuerKeys,
856    #[serde(rename = "FailedPrecondition")]
857    FailedPrecondition,
858    #[serde(rename = "ResourceExhausted")]
859    ResourceExhausted,
860    #[serde(rename = "AlreadyExists")]
861    AlreadyExists,
862    #[serde(rename = "ResourceLimited")]
863    ResourceLimited,
864    #[serde(rename = "Unauthorized")]
865    Unauthorized,
866    #[serde(rename = "BadResponse")]
867    BadResponse,
868    #[serde(rename = "InternalError")]
869    InternalError,
870    #[serde(rename = "UnknownError")]
871    UnknownError,
872    #[serde(rename = "FulfilledLocally")]
873    FulfilledLocally,
874    #[serde(rename = "SiteIssuerLimit")]
875    SiteIssuerLimit,
876}
877#[allow(deprecated)]
878#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
879pub struct Headers(pub Option<Json>);
880#[allow(deprecated)]
881#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
882#[builder(setter(into, strip_option))]
883#[serde(rename_all = "camelCase")]
884#[doc = "Timing information for the request."]
885pub struct ResourceTiming {
886    #[serde(default)]
887    #[doc = "Timing's requestTime is a baseline in seconds, while the other numbers are ticks in\n milliseconds relatively to this requestTime."]
888    pub request_time: JsFloat,
889    #[serde(default)]
890    #[doc = "Started resolving proxy."]
891    pub proxy_start: JsFloat,
892    #[serde(default)]
893    #[doc = "Finished resolving proxy."]
894    pub proxy_end: JsFloat,
895    #[serde(default)]
896    #[doc = "Started DNS address resolve."]
897    pub dns_start: JsFloat,
898    #[serde(default)]
899    #[doc = "Finished DNS address resolve."]
900    pub dns_end: JsFloat,
901    #[serde(default)]
902    #[doc = "Started connecting to the remote host."]
903    pub connect_start: JsFloat,
904    #[serde(default)]
905    #[doc = "Connected to the remote host."]
906    pub connect_end: JsFloat,
907    #[serde(default)]
908    #[doc = "Started SSL handshake."]
909    pub ssl_start: JsFloat,
910    #[serde(default)]
911    #[doc = "Finished SSL handshake."]
912    pub ssl_end: JsFloat,
913    #[serde(default)]
914    #[doc = "Started running ServiceWorker."]
915    pub worker_start: JsFloat,
916    #[serde(default)]
917    #[doc = "Finished Starting ServiceWorker."]
918    pub worker_ready: JsFloat,
919    #[serde(default)]
920    #[doc = "Started fetch event."]
921    pub worker_fetch_start: JsFloat,
922    #[serde(default)]
923    #[doc = "Settled fetch event respondWith promise."]
924    pub worker_respond_with_settled: JsFloat,
925    #[builder(default)]
926    #[serde(skip_serializing_if = "Option::is_none")]
927    #[serde(default)]
928    #[doc = "Started ServiceWorker static routing source evaluation."]
929    pub worker_router_evaluation_start: Option<JsFloat>,
930    #[builder(default)]
931    #[serde(skip_serializing_if = "Option::is_none")]
932    #[serde(default)]
933    #[doc = "Started cache lookup when the source was evaluated to `cache`."]
934    pub worker_cache_lookup_start: Option<JsFloat>,
935    #[serde(default)]
936    #[doc = "Started sending request."]
937    pub send_start: JsFloat,
938    #[serde(default)]
939    #[doc = "Finished sending request."]
940    pub send_end: JsFloat,
941    #[serde(default)]
942    #[doc = "Time the server started pushing request."]
943    pub push_start: JsFloat,
944    #[serde(default)]
945    #[doc = "Time the server finished pushing request."]
946    pub push_end: JsFloat,
947    #[serde(default)]
948    #[doc = "Started receiving response headers."]
949    pub receive_headers_start: JsFloat,
950    #[serde(default)]
951    #[doc = "Finished receiving response headers."]
952    pub receive_headers_end: JsFloat,
953}
954#[allow(deprecated)]
955#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
956#[builder(setter(into, strip_option))]
957#[serde(rename_all = "camelCase")]
958#[doc = "Post data entry for HTTP request"]
959pub struct PostDataEntry {
960    #[builder(default)]
961    #[serde(skip_serializing_if = "Option::is_none")]
962    pub bytes: Option<String>,
963}
964#[allow(deprecated)]
965#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
966#[builder(setter(into, strip_option))]
967#[serde(rename_all = "camelCase")]
968#[doc = "HTTP request data."]
969pub struct Request {
970    #[serde(default)]
971    #[doc = "Request URL (without fragment)."]
972    pub url: String,
973    #[builder(default)]
974    #[serde(skip_serializing_if = "Option::is_none")]
975    #[serde(default)]
976    #[doc = "Fragment of the requested URL starting with hash, if present."]
977    pub url_fragment: Option<String>,
978    #[serde(default)]
979    #[doc = "HTTP request method."]
980    pub method: String,
981    #[doc = "HTTP request headers."]
982    pub headers: Headers,
983    #[builder(default)]
984    #[serde(skip_serializing_if = "Option::is_none")]
985    #[serde(default)]
986    #[doc = "HTTP POST request data.\n Use postDataEntries instead."]
987    #[deprecated]
988    pub post_data: Option<String>,
989    #[builder(default)]
990    #[serde(skip_serializing_if = "Option::is_none")]
991    #[serde(default)]
992    #[doc = "True when the request has POST data. Note that postData might still be omitted when this flag is true when the data is too long."]
993    pub has_post_data: Option<bool>,
994    #[builder(default)]
995    #[serde(skip_serializing_if = "Option::is_none")]
996    #[doc = "Request body elements (post data broken into individual entries)."]
997    pub post_data_entries: Option<Vec<PostDataEntry>>,
998    #[builder(default)]
999    #[serde(skip_serializing_if = "Option::is_none")]
1000    #[doc = "The mixed content type of the request."]
1001    pub mixed_content_type: Option<security::MixedContentType>,
1002    #[doc = "Priority of the resource request at the time request is sent."]
1003    pub initial_priority: ResourcePriority,
1004    #[doc = "The referrer policy of the request, as defined in <https://www.w3.org/TR/referrer-policy/>"]
1005    pub referrer_policy: RequestReferrerPolicy,
1006    #[builder(default)]
1007    #[serde(skip_serializing_if = "Option::is_none")]
1008    #[serde(default)]
1009    #[doc = "Whether is loaded via link preload."]
1010    pub is_link_preload: Option<bool>,
1011    #[builder(default)]
1012    #[serde(skip_serializing_if = "Option::is_none")]
1013    #[doc = "Set for requests when the TrustToken API is used. Contains the parameters\n passed by the developer (e.g. via \"fetch\") as understood by the backend."]
1014    pub trust_token_params: Option<TrustTokenParams>,
1015    #[builder(default)]
1016    #[serde(skip_serializing_if = "Option::is_none")]
1017    #[serde(default)]
1018    #[doc = "True if this resource request is considered to be the 'same site' as the\n request corresponding to the main frame."]
1019    pub is_same_site: Option<bool>,
1020    #[builder(default)]
1021    #[serde(skip_serializing_if = "Option::is_none")]
1022    #[serde(default)]
1023    #[doc = "True when the resource request is ad-related."]
1024    pub is_ad_related: Option<bool>,
1025}
1026#[allow(deprecated)]
1027#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
1028#[builder(setter(into, strip_option))]
1029#[serde(rename_all = "camelCase")]
1030#[doc = "Details of a signed certificate timestamp (SCT)."]
1031pub struct SignedCertificateTimestamp {
1032    #[serde(default)]
1033    #[doc = "Validation status."]
1034    pub status: String,
1035    #[serde(default)]
1036    #[doc = "Origin."]
1037    pub origin: String,
1038    #[serde(default)]
1039    #[doc = "Log name / description."]
1040    pub log_description: String,
1041    #[serde(default)]
1042    #[doc = "Log ID."]
1043    pub log_id: String,
1044    #[serde(default)]
1045    #[doc = "Issuance date. Unlike TimeSinceEpoch, this contains the number of\n milliseconds since January 1, 1970, UTC, not the number of seconds."]
1046    pub timestamp: JsFloat,
1047    #[serde(default)]
1048    #[doc = "Hash algorithm."]
1049    pub hash_algorithm: String,
1050    #[serde(default)]
1051    #[doc = "Signature algorithm."]
1052    pub signature_algorithm: String,
1053    #[serde(default)]
1054    #[doc = "Signature data."]
1055    pub signature_data: String,
1056}
1057#[allow(deprecated)]
1058#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
1059#[builder(setter(into, strip_option))]
1060#[serde(rename_all = "camelCase")]
1061#[doc = "Security details about a request."]
1062pub struct SecurityDetails {
1063    #[serde(default)]
1064    #[doc = "Protocol name (e.g. \"TLS 1.2\" or \"QUIC\")."]
1065    pub protocol: String,
1066    #[serde(default)]
1067    #[doc = "Key Exchange used by the connection, or the empty string if not applicable."]
1068    pub key_exchange: String,
1069    #[builder(default)]
1070    #[serde(skip_serializing_if = "Option::is_none")]
1071    #[serde(default)]
1072    #[doc = "(EC)DH group used by the connection, if applicable."]
1073    pub key_exchange_group: Option<String>,
1074    #[serde(default)]
1075    #[doc = "Cipher name."]
1076    pub cipher: String,
1077    #[builder(default)]
1078    #[serde(skip_serializing_if = "Option::is_none")]
1079    #[serde(default)]
1080    #[doc = "TLS MAC. Note that AEAD ciphers do not have separate MACs."]
1081    pub mac: Option<String>,
1082    #[doc = "Certificate ID value."]
1083    pub certificate_id: security::CertificateId,
1084    #[serde(default)]
1085    #[doc = "Certificate subject name."]
1086    pub subject_name: String,
1087    #[serde(default)]
1088    #[doc = "Subject Alternative Name (SAN) DNS names and IP addresses."]
1089    pub san_list: Vec<String>,
1090    #[serde(default)]
1091    #[doc = "Name of the issuing CA."]
1092    pub issuer: String,
1093    #[doc = "Certificate valid from date."]
1094    pub valid_from: TimeSinceEpoch,
1095    #[doc = "Certificate valid to (expiration) date"]
1096    pub valid_to: TimeSinceEpoch,
1097    #[doc = "List of signed certificate timestamps (SCTs)."]
1098    pub signed_certificate_timestamp_list: Vec<SignedCertificateTimestamp>,
1099    #[doc = "Whether the request complied with Certificate Transparency policy"]
1100    pub certificate_transparency_compliance: CertificateTransparencyCompliance,
1101    #[builder(default)]
1102    #[serde(skip_serializing_if = "Option::is_none")]
1103    #[serde(default)]
1104    #[doc = "The signature algorithm used by the server in the TLS server signature,\n represented as a TLS SignatureScheme code point. Omitted if not\n applicable or not known."]
1105    pub server_signature_algorithm: Option<JsUInt>,
1106    #[serde(default)]
1107    #[doc = "Whether the connection used Encrypted ClientHello"]
1108    pub encrypted_client_hello: bool,
1109}
1110#[allow(deprecated)]
1111#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
1112#[builder(setter(into, strip_option))]
1113#[serde(rename_all = "camelCase")]
1114pub struct CorsErrorStatus {
1115    pub cors_error: CorsError,
1116    #[serde(default)]
1117    pub failed_parameter: String,
1118}
1119#[allow(deprecated)]
1120#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
1121#[builder(setter(into, strip_option))]
1122#[serde(rename_all = "camelCase")]
1123#[doc = "Determines what type of Trust Token operation is executed and\n depending on the type, some additional parameters. The values\n are specified in third_party/blink/renderer/core/fetch/trust_token.idl."]
1124pub struct TrustTokenParams {
1125    pub operation: TrustTokenOperationType,
1126    #[doc = "Only set for \"token-redemption\" operation and determine whether\n to request a fresh SRR or use a still valid cached SRR."]
1127    pub refresh_policy: TrustTokenParamsRefreshPolicy,
1128    #[builder(default)]
1129    #[serde(skip_serializing_if = "Option::is_none")]
1130    #[serde(default)]
1131    #[doc = "Origins of issuers from whom to request tokens or redemption\n records."]
1132    pub issuers: Option<Vec<String>>,
1133}
1134#[allow(deprecated)]
1135#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
1136#[builder(setter(into, strip_option))]
1137#[serde(rename_all = "camelCase")]
1138pub struct ServiceWorkerRouterInfo {
1139    #[builder(default)]
1140    #[serde(skip_serializing_if = "Option::is_none")]
1141    #[serde(default)]
1142    #[doc = "ID of the rule matched. If there is a matched rule, this field will\n be set, otherwiser no value will be set."]
1143    pub rule_id_matched: Option<JsUInt>,
1144    #[builder(default)]
1145    #[serde(skip_serializing_if = "Option::is_none")]
1146    #[doc = "The router source of the matched rule. If there is a matched rule, this\n field will be set, otherwise no value will be set."]
1147    pub matched_source_type: Option<ServiceWorkerRouterSource>,
1148    #[builder(default)]
1149    #[serde(skip_serializing_if = "Option::is_none")]
1150    #[doc = "The actual router source used."]
1151    pub actual_source_type: Option<ServiceWorkerRouterSource>,
1152}
1153#[allow(deprecated)]
1154#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
1155#[builder(setter(into, strip_option))]
1156#[serde(rename_all = "camelCase")]
1157#[doc = "HTTP response data."]
1158pub struct Response {
1159    #[serde(default)]
1160    #[doc = "Response URL. This URL can be different from CachedResource.url in case of redirect."]
1161    pub url: String,
1162    #[serde(default)]
1163    #[doc = "HTTP response status code."]
1164    pub status: JsUInt,
1165    #[serde(default)]
1166    #[doc = "HTTP response status text."]
1167    pub status_text: String,
1168    #[doc = "HTTP response headers."]
1169    pub headers: Headers,
1170    #[builder(default)]
1171    #[serde(skip_serializing_if = "Option::is_none")]
1172    #[serde(default)]
1173    #[doc = "HTTP response headers text. This has been replaced by the headers in Network.responseReceivedExtraInfo."]
1174    #[deprecated]
1175    pub headers_text: Option<String>,
1176    #[serde(default)]
1177    #[doc = "Resource mimeType as determined by the browser."]
1178    pub mime_type: String,
1179    #[serde(default)]
1180    #[doc = "Resource charset as determined by the browser (if applicable)."]
1181    pub charset: String,
1182    #[builder(default)]
1183    #[serde(skip_serializing_if = "Option::is_none")]
1184    #[doc = "Refined HTTP request headers that were actually transmitted over the network."]
1185    pub request_headers: Option<Headers>,
1186    #[builder(default)]
1187    #[serde(skip_serializing_if = "Option::is_none")]
1188    #[serde(default)]
1189    #[doc = "HTTP request headers text. This has been replaced by the headers in Network.requestWillBeSentExtraInfo."]
1190    #[deprecated]
1191    pub request_headers_text: Option<String>,
1192    #[serde(default)]
1193    #[doc = "Specifies whether physical connection was actually reused for this request."]
1194    pub connection_reused: bool,
1195    #[serde(default)]
1196    #[doc = "Physical connection id that was actually used for this request."]
1197    pub connection_id: JsFloat,
1198    #[builder(default)]
1199    #[serde(skip_serializing_if = "Option::is_none")]
1200    #[serde(default)]
1201    #[doc = "Remote IP address."]
1202    #[serde(rename = "remoteIPAddress")]
1203    pub remote_ip_address: Option<String>,
1204    #[builder(default)]
1205    #[serde(skip_serializing_if = "Option::is_none")]
1206    #[serde(default)]
1207    #[doc = "Remote port."]
1208    pub remote_port: Option<JsUInt>,
1209    #[builder(default)]
1210    #[serde(skip_serializing_if = "Option::is_none")]
1211    #[serde(default)]
1212    #[doc = "Specifies that the request was served from the disk cache."]
1213    pub from_disk_cache: Option<bool>,
1214    #[builder(default)]
1215    #[serde(skip_serializing_if = "Option::is_none")]
1216    #[serde(default)]
1217    #[doc = "Specifies that the request was served from the ServiceWorker."]
1218    pub from_service_worker: Option<bool>,
1219    #[builder(default)]
1220    #[serde(skip_serializing_if = "Option::is_none")]
1221    #[serde(default)]
1222    #[doc = "Specifies that the request was served from the prefetch cache."]
1223    pub from_prefetch_cache: Option<bool>,
1224    #[builder(default)]
1225    #[serde(skip_serializing_if = "Option::is_none")]
1226    #[serde(default)]
1227    #[doc = "Specifies that the request was served from the prefetch cache."]
1228    pub from_early_hints: Option<bool>,
1229    #[builder(default)]
1230    #[serde(skip_serializing_if = "Option::is_none")]
1231    #[doc = "Information about how ServiceWorker Static Router API was used. If this\n field is set with `matchedSourceType` field, a matching rule is found.\n If this field is set without `matchedSource`, no matching rule is found.\n Otherwise, the API is not used."]
1232    pub service_worker_router_info: Option<ServiceWorkerRouterInfo>,
1233    #[serde(default)]
1234    #[doc = "Total number of bytes received for this request so far."]
1235    pub encoded_data_length: JsFloat,
1236    #[builder(default)]
1237    #[serde(skip_serializing_if = "Option::is_none")]
1238    #[doc = "Timing information for the given request."]
1239    pub timing: Option<ResourceTiming>,
1240    #[builder(default)]
1241    #[serde(skip_serializing_if = "Option::is_none")]
1242    #[doc = "Response source of response from ServiceWorker."]
1243    pub service_worker_response_source: Option<ServiceWorkerResponseSource>,
1244    #[builder(default)]
1245    #[serde(skip_serializing_if = "Option::is_none")]
1246    #[doc = "The time at which the returned response was generated."]
1247    pub response_time: Option<TimeSinceEpoch>,
1248    #[builder(default)]
1249    #[serde(skip_serializing_if = "Option::is_none")]
1250    #[serde(default)]
1251    #[doc = "Cache Storage Cache Name."]
1252    pub cache_storage_cache_name: Option<String>,
1253    #[builder(default)]
1254    #[serde(skip_serializing_if = "Option::is_none")]
1255    #[serde(default)]
1256    #[doc = "Protocol used to fetch this request."]
1257    pub protocol: Option<String>,
1258    #[builder(default)]
1259    #[serde(skip_serializing_if = "Option::is_none")]
1260    #[doc = "The reason why Chrome uses a specific transport protocol for HTTP semantics."]
1261    pub alternate_protocol_usage: Option<AlternateProtocolUsage>,
1262    #[doc = "Security state of the request resource."]
1263    pub security_state: security::SecurityState,
1264    #[builder(default)]
1265    #[serde(skip_serializing_if = "Option::is_none")]
1266    #[doc = "Security details for the request."]
1267    pub security_details: Option<SecurityDetails>,
1268}
1269#[allow(deprecated)]
1270#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
1271#[builder(setter(into, strip_option))]
1272#[serde(rename_all = "camelCase")]
1273#[doc = "WebSocket request data."]
1274pub struct WebSocketRequest {
1275    #[doc = "HTTP request headers."]
1276    pub headers: Headers,
1277}
1278#[allow(deprecated)]
1279#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
1280#[builder(setter(into, strip_option))]
1281#[serde(rename_all = "camelCase")]
1282#[doc = "WebSocket response data."]
1283pub struct WebSocketResponse {
1284    #[serde(default)]
1285    #[doc = "HTTP response status code."]
1286    pub status: JsUInt,
1287    #[serde(default)]
1288    #[doc = "HTTP response status text."]
1289    pub status_text: String,
1290    #[doc = "HTTP response headers."]
1291    pub headers: Headers,
1292    #[builder(default)]
1293    #[serde(skip_serializing_if = "Option::is_none")]
1294    #[serde(default)]
1295    #[doc = "HTTP response headers text."]
1296    pub headers_text: Option<String>,
1297    #[builder(default)]
1298    #[serde(skip_serializing_if = "Option::is_none")]
1299    #[doc = "HTTP request headers."]
1300    pub request_headers: Option<Headers>,
1301    #[builder(default)]
1302    #[serde(skip_serializing_if = "Option::is_none")]
1303    #[serde(default)]
1304    #[doc = "HTTP request headers text."]
1305    pub request_headers_text: Option<String>,
1306}
1307#[allow(deprecated)]
1308#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
1309#[builder(setter(into, strip_option))]
1310#[serde(rename_all = "camelCase")]
1311#[doc = "WebSocket message data. This represents an entire WebSocket message, not just a fragmented frame as the name suggests."]
1312pub struct WebSocketFrame {
1313    #[serde(default)]
1314    #[doc = "WebSocket message opcode."]
1315    pub opcode: JsFloat,
1316    #[serde(default)]
1317    #[doc = "WebSocket message mask."]
1318    pub mask: bool,
1319    #[serde(default)]
1320    #[doc = "WebSocket message payload data.\n If the opcode is 1, this is a text message and payloadData is a UTF-8 string.\n If the opcode isn't 1, then payloadData is a base64 encoded string representing binary data."]
1321    pub payload_data: String,
1322}
1323#[allow(deprecated)]
1324#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
1325#[builder(setter(into, strip_option))]
1326#[serde(rename_all = "camelCase")]
1327#[doc = "Information about the cached resource."]
1328pub struct CachedResource {
1329    #[serde(default)]
1330    #[doc = "Resource URL. This is the url of the original network request."]
1331    pub url: String,
1332    #[doc = "Type of this resource."]
1333    pub r#type: ResourceType,
1334    #[builder(default)]
1335    #[serde(skip_serializing_if = "Option::is_none")]
1336    #[doc = "Cached response data."]
1337    pub response: Option<Response>,
1338    #[serde(default)]
1339    #[doc = "Cached response body size."]
1340    pub body_size: JsFloat,
1341}
1342#[allow(deprecated)]
1343#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
1344#[builder(setter(into, strip_option))]
1345#[serde(rename_all = "camelCase")]
1346#[doc = "Information about the request initiator."]
1347pub struct Initiator {
1348    #[doc = "Type of this initiator."]
1349    pub r#type: InitiatorType,
1350    #[builder(default)]
1351    #[serde(skip_serializing_if = "Option::is_none")]
1352    #[doc = "Initiator JavaScript stack trace, set for Script only.\n Requires the Debugger domain to be enabled."]
1353    pub stack: Option<runtime::StackTrace>,
1354    #[builder(default)]
1355    #[serde(skip_serializing_if = "Option::is_none")]
1356    #[serde(default)]
1357    #[doc = "Initiator URL, set for Parser type or for Script type (when script is importing module) or for SignedExchange type."]
1358    pub url: Option<String>,
1359    #[builder(default)]
1360    #[serde(skip_serializing_if = "Option::is_none")]
1361    #[serde(default)]
1362    #[doc = "Initiator line number, set for Parser type or for Script type (when script is importing\n module) (0-based)."]
1363    pub line_number: Option<JsFloat>,
1364    #[builder(default)]
1365    #[serde(skip_serializing_if = "Option::is_none")]
1366    #[serde(default)]
1367    #[doc = "Initiator column number, set for Parser type or for Script type (when script is importing\n module) (0-based)."]
1368    pub column_number: Option<JsFloat>,
1369    #[builder(default)]
1370    #[serde(skip_serializing_if = "Option::is_none")]
1371    #[doc = "Set if another request triggered this request (e.g. preflight)."]
1372    pub request_id: Option<RequestId>,
1373}
1374#[allow(deprecated)]
1375#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
1376#[builder(setter(into, strip_option))]
1377#[serde(rename_all = "camelCase")]
1378#[doc = "cookiePartitionKey object\n The representation of the components of the key that are created by the cookiePartitionKey class contained in net/cookies/cookie_partition_key.h."]
1379pub struct CookiePartitionKey {
1380    #[serde(default)]
1381    #[doc = "The site of the top-level URL the browser was visiting at the start\n of the request to the endpoint that set the cookie."]
1382    pub top_level_site: String,
1383    #[serde(default)]
1384    #[doc = "Indicates if the cookie has any ancestors that are cross-site to the topLevelSite."]
1385    pub has_cross_site_ancestor: bool,
1386}
1387#[allow(deprecated)]
1388#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
1389#[builder(setter(into, strip_option))]
1390#[serde(rename_all = "camelCase")]
1391#[doc = "Cookie object"]
1392pub struct Cookie {
1393    #[serde(default)]
1394    #[doc = "Cookie name."]
1395    pub name: String,
1396    #[serde(default)]
1397    #[doc = "Cookie value."]
1398    pub value: String,
1399    #[serde(default)]
1400    #[doc = "Cookie domain."]
1401    pub domain: String,
1402    #[serde(default)]
1403    #[doc = "Cookie path."]
1404    pub path: String,
1405    #[serde(default)]
1406    #[doc = "Cookie expiration date as the number of seconds since the UNIX epoch.\n The value is set to -1 if the expiry date is not set.\n The value can be null for values that cannot be represented in\n JSON (±Inf)."]
1407    pub expires: JsFloat,
1408    #[serde(default)]
1409    #[doc = "Cookie size."]
1410    pub size: JsUInt,
1411    #[serde(default)]
1412    #[doc = "True if cookie is http-only."]
1413    pub http_only: bool,
1414    #[serde(default)]
1415    #[doc = "True if cookie is secure."]
1416    pub secure: bool,
1417    #[serde(default)]
1418    #[doc = "True in case of session cookie."]
1419    pub session: bool,
1420    #[builder(default)]
1421    #[serde(skip_serializing_if = "Option::is_none")]
1422    #[doc = "Cookie SameSite type."]
1423    pub same_site: Option<CookieSameSite>,
1424    #[doc = "Cookie Priority"]
1425    pub priority: CookiePriority,
1426    #[doc = "Cookie source scheme type."]
1427    pub source_scheme: CookieSourceScheme,
1428    #[serde(default)]
1429    #[doc = "Cookie source port. Valid values are {-1, \\[1, 65535\\]}, -1 indicates an unspecified port.\n An unspecified port value allows protocol clients to emulate legacy cookie scope for the port.\n This is a temporary ability and it will be removed in the future."]
1430    pub source_port: JsUInt,
1431    #[builder(default)]
1432    #[serde(skip_serializing_if = "Option::is_none")]
1433    #[doc = "Cookie partition key."]
1434    pub partition_key: Option<CookiePartitionKey>,
1435    #[builder(default)]
1436    #[serde(skip_serializing_if = "Option::is_none")]
1437    #[serde(default)]
1438    #[doc = "True if cookie partition key is opaque."]
1439    pub partition_key_opaque: Option<bool>,
1440}
1441#[allow(deprecated)]
1442#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
1443#[builder(setter(into, strip_option))]
1444#[serde(rename_all = "camelCase")]
1445#[doc = "A cookie which was not stored from a response with the corresponding reason."]
1446pub struct BlockedSetCookieWithReason {
1447    #[doc = "The reason(s) this cookie was blocked."]
1448    pub blocked_reasons: Vec<SetCookieBlockedReason>,
1449    #[serde(default)]
1450    #[doc = "The string representing this individual cookie as it would appear in the header.\n This is not the entire \"cookie\" or \"set-cookie\" header which could have multiple cookies."]
1451    pub cookie_line: String,
1452    #[builder(default)]
1453    #[serde(skip_serializing_if = "Option::is_none")]
1454    #[doc = "The cookie object which represents the cookie which was not stored. It is optional because\n sometimes complete cookie information is not available, such as in the case of parsing\n errors."]
1455    pub cookie: Option<Cookie>,
1456}
1457#[allow(deprecated)]
1458#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
1459#[builder(setter(into, strip_option))]
1460#[serde(rename_all = "camelCase")]
1461#[doc = "A cookie should have been blocked by 3PCD but is exempted and stored from a response with the\n corresponding reason. A cookie could only have at most one exemption reason."]
1462pub struct ExemptedSetCookieWithReason {
1463    #[doc = "The reason the cookie was exempted."]
1464    pub exemption_reason: CookieExemptionReason,
1465    #[serde(default)]
1466    #[doc = "The string representing this individual cookie as it would appear in the header."]
1467    pub cookie_line: String,
1468    #[doc = "The cookie object representing the cookie."]
1469    pub cookie: Cookie,
1470}
1471#[allow(deprecated)]
1472#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
1473#[builder(setter(into, strip_option))]
1474#[serde(rename_all = "camelCase")]
1475#[doc = "A cookie associated with the request which may or may not be sent with it.\n Includes the cookies itself and reasons for blocking or exemption."]
1476pub struct AssociatedCookie {
1477    #[doc = "The cookie object representing the cookie which was not sent."]
1478    pub cookie: Cookie,
1479    #[doc = "The reason(s) the cookie was blocked. If empty means the cookie is included."]
1480    pub blocked_reasons: Vec<CookieBlockedReason>,
1481    #[builder(default)]
1482    #[serde(skip_serializing_if = "Option::is_none")]
1483    #[doc = "The reason the cookie should have been blocked by 3PCD but is exempted. A cookie could\n only have at most one exemption reason."]
1484    pub exemption_reason: Option<CookieExemptionReason>,
1485}
1486#[allow(deprecated)]
1487#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
1488#[builder(setter(into, strip_option))]
1489#[serde(rename_all = "camelCase")]
1490#[doc = "Cookie parameter object"]
1491pub struct CookieParam {
1492    #[serde(default)]
1493    #[doc = "Cookie name."]
1494    pub name: String,
1495    #[serde(default)]
1496    #[doc = "Cookie value."]
1497    pub value: String,
1498    #[builder(default)]
1499    #[serde(skip_serializing_if = "Option::is_none")]
1500    #[serde(default)]
1501    #[doc = "The request-URI to associate with the setting of the cookie. This value can affect the\n default domain, path, source port, and source scheme values of the created cookie."]
1502    pub url: Option<String>,
1503    #[builder(default)]
1504    #[serde(skip_serializing_if = "Option::is_none")]
1505    #[serde(default)]
1506    #[doc = "Cookie domain."]
1507    pub domain: Option<String>,
1508    #[builder(default)]
1509    #[serde(skip_serializing_if = "Option::is_none")]
1510    #[serde(default)]
1511    #[doc = "Cookie path."]
1512    pub path: Option<String>,
1513    #[builder(default)]
1514    #[serde(skip_serializing_if = "Option::is_none")]
1515    #[serde(default)]
1516    #[doc = "True if cookie is secure."]
1517    pub secure: Option<bool>,
1518    #[builder(default)]
1519    #[serde(skip_serializing_if = "Option::is_none")]
1520    #[serde(default)]
1521    #[doc = "True if cookie is http-only."]
1522    pub http_only: Option<bool>,
1523    #[builder(default)]
1524    #[serde(skip_serializing_if = "Option::is_none")]
1525    #[doc = "Cookie SameSite type."]
1526    pub same_site: Option<CookieSameSite>,
1527    #[builder(default)]
1528    #[serde(skip_serializing_if = "Option::is_none")]
1529    #[doc = "Cookie expiration date, session cookie if not set"]
1530    pub expires: Option<TimeSinceEpoch>,
1531    #[builder(default)]
1532    #[serde(skip_serializing_if = "Option::is_none")]
1533    #[doc = "Cookie Priority."]
1534    pub priority: Option<CookiePriority>,
1535    #[builder(default)]
1536    #[serde(skip_serializing_if = "Option::is_none")]
1537    #[doc = "Cookie source scheme type."]
1538    pub source_scheme: Option<CookieSourceScheme>,
1539    #[builder(default)]
1540    #[serde(skip_serializing_if = "Option::is_none")]
1541    #[serde(default)]
1542    #[doc = "Cookie source port. Valid values are {-1, \\[1, 65535\\]}, -1 indicates an unspecified port.\n An unspecified port value allows protocol clients to emulate legacy cookie scope for the port.\n This is a temporary ability and it will be removed in the future."]
1543    pub source_port: Option<JsUInt>,
1544    #[builder(default)]
1545    #[serde(skip_serializing_if = "Option::is_none")]
1546    #[doc = "Cookie partition key. If not set, the cookie will be set as not partitioned."]
1547    pub partition_key: Option<CookiePartitionKey>,
1548}
1549#[allow(deprecated)]
1550#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
1551#[builder(setter(into, strip_option))]
1552#[serde(rename_all = "camelCase")]
1553#[doc = "Authorization challenge for HTTP status code 401 or 407."]
1554pub struct AuthChallenge {
1555    #[builder(default)]
1556    #[serde(skip_serializing_if = "Option::is_none")]
1557    #[doc = "Source of the authentication challenge."]
1558    pub source: Option<AuthChallengeSource>,
1559    #[serde(default)]
1560    #[doc = "Origin of the challenger."]
1561    pub origin: String,
1562    #[serde(default)]
1563    #[doc = "The authentication scheme used, such as basic or digest"]
1564    pub scheme: String,
1565    #[serde(default)]
1566    #[doc = "The realm of the challenge. May be empty."]
1567    pub realm: String,
1568}
1569#[allow(deprecated)]
1570#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
1571#[builder(setter(into, strip_option))]
1572#[serde(rename_all = "camelCase")]
1573#[doc = "Response to an AuthChallenge."]
1574pub struct AuthChallengeResponse {
1575    #[doc = "The decision on what to do in response to the authorization challenge.  Default means\n deferring to the default behavior of the net stack, which will likely either the Cancel\n authentication or display a popup dialog box."]
1576    pub response: AuthChallengeResponseResponse,
1577    #[builder(default)]
1578    #[serde(skip_serializing_if = "Option::is_none")]
1579    #[serde(default)]
1580    #[doc = "The username to provide, possibly empty. Should only be set if response is\n ProvideCredentials."]
1581    pub username: Option<String>,
1582    #[builder(default)]
1583    #[serde(skip_serializing_if = "Option::is_none")]
1584    #[serde(default)]
1585    #[doc = "The password to provide, possibly empty. Should only be set if response is\n ProvideCredentials."]
1586    pub password: Option<String>,
1587}
1588#[allow(deprecated)]
1589#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
1590#[builder(setter(into, strip_option))]
1591#[serde(rename_all = "camelCase")]
1592#[doc = "Request pattern for interception."]
1593pub struct RequestPattern {
1594    #[builder(default)]
1595    #[serde(skip_serializing_if = "Option::is_none")]
1596    #[serde(default)]
1597    #[doc = "Wildcards (`'*'` -\\> zero or more, `'?'` -\\> exactly one) are allowed. Escape character is\n backslash. Omitting is equivalent to `\"*\"`."]
1598    pub url_pattern: Option<String>,
1599    #[builder(default)]
1600    #[serde(skip_serializing_if = "Option::is_none")]
1601    #[doc = "If set, only requests for matching resource types will be intercepted."]
1602    pub resource_type: Option<ResourceType>,
1603    #[builder(default)]
1604    #[serde(skip_serializing_if = "Option::is_none")]
1605    #[doc = "Stage at which to begin intercepting requests. Default is Request."]
1606    pub interception_stage: Option<InterceptionStage>,
1607}
1608#[allow(deprecated)]
1609#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
1610#[builder(setter(into, strip_option))]
1611#[serde(rename_all = "camelCase")]
1612#[doc = "Information about a signed exchange signature.\n <https://wicg.github.io/webpackage/draft-yasskin-httpbis-origin-signed-exchanges-impl.html#rfc.section.3.1>"]
1613pub struct SignedExchangeSignature {
1614    #[serde(default)]
1615    #[doc = "Signed exchange signature label."]
1616    pub label: String,
1617    #[serde(default)]
1618    #[doc = "The hex string of signed exchange signature."]
1619    pub signature: String,
1620    #[serde(default)]
1621    #[doc = "Signed exchange signature integrity."]
1622    pub integrity: String,
1623    #[builder(default)]
1624    #[serde(skip_serializing_if = "Option::is_none")]
1625    #[serde(default)]
1626    #[doc = "Signed exchange signature cert Url."]
1627    pub cert_url: Option<String>,
1628    #[builder(default)]
1629    #[serde(skip_serializing_if = "Option::is_none")]
1630    #[serde(default)]
1631    #[doc = "The hex string of signed exchange signature cert sha256."]
1632    pub cert_sha_256: Option<String>,
1633    #[serde(default)]
1634    #[doc = "Signed exchange signature validity Url."]
1635    pub validity_url: String,
1636    #[serde(default)]
1637    #[doc = "Signed exchange signature date."]
1638    pub date: JsUInt,
1639    #[serde(default)]
1640    #[doc = "Signed exchange signature expires."]
1641    pub expires: JsUInt,
1642    #[builder(default)]
1643    #[serde(skip_serializing_if = "Option::is_none")]
1644    #[serde(default)]
1645    #[doc = "The encoded certificates."]
1646    pub certificates: Option<Vec<String>>,
1647}
1648#[allow(deprecated)]
1649#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
1650#[builder(setter(into, strip_option))]
1651#[serde(rename_all = "camelCase")]
1652#[doc = "Information about a signed exchange header.\n <https://wicg.github.io/webpackage/draft-yasskin-httpbis-origin-signed-exchanges-impl.html#cbor-representation>"]
1653pub struct SignedExchangeHeader {
1654    #[serde(default)]
1655    #[doc = "Signed exchange request URL."]
1656    pub request_url: String,
1657    #[serde(default)]
1658    #[doc = "Signed exchange response code."]
1659    pub response_code: JsUInt,
1660    #[doc = "Signed exchange response headers."]
1661    pub response_headers: Headers,
1662    #[doc = "Signed exchange response signature."]
1663    pub signatures: Vec<SignedExchangeSignature>,
1664    #[serde(default)]
1665    #[doc = "Signed exchange header integrity hash in the form of `sha256-\\<base64-hash-value\\>`."]
1666    pub header_integrity: String,
1667}
1668#[allow(deprecated)]
1669#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
1670#[builder(setter(into, strip_option))]
1671#[serde(rename_all = "camelCase")]
1672#[doc = "Information about a signed exchange response."]
1673pub struct SignedExchangeError {
1674    #[serde(default)]
1675    #[doc = "Error message."]
1676    pub message: String,
1677    #[builder(default)]
1678    #[serde(skip_serializing_if = "Option::is_none")]
1679    #[serde(default)]
1680    #[doc = "The index of the signature which caused the error."]
1681    pub signature_index: Option<JsUInt>,
1682    #[builder(default)]
1683    #[serde(skip_serializing_if = "Option::is_none")]
1684    #[doc = "The field which caused the error."]
1685    pub error_field: Option<SignedExchangeErrorField>,
1686}
1687#[allow(deprecated)]
1688#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
1689#[builder(setter(into, strip_option))]
1690#[serde(rename_all = "camelCase")]
1691#[doc = "Information about a signed exchange response."]
1692pub struct SignedExchangeInfo {
1693    #[doc = "The outer response of signed HTTP exchange which was received from network."]
1694    pub outer_response: Response,
1695    #[serde(default)]
1696    #[doc = "Whether network response for the signed exchange was accompanied by\n extra headers."]
1697    pub has_extra_info: bool,
1698    #[builder(default)]
1699    #[serde(skip_serializing_if = "Option::is_none")]
1700    #[doc = "Information about the signed exchange header."]
1701    pub header: Option<SignedExchangeHeader>,
1702    #[builder(default)]
1703    #[serde(skip_serializing_if = "Option::is_none")]
1704    #[doc = "Security details for the signed exchange header."]
1705    pub security_details: Option<SecurityDetails>,
1706    #[builder(default)]
1707    #[serde(skip_serializing_if = "Option::is_none")]
1708    #[doc = "Errors occurred while handling the signed exchange."]
1709    pub errors: Option<Vec<SignedExchangeError>>,
1710}
1711#[allow(deprecated)]
1712#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
1713#[builder(setter(into, strip_option))]
1714#[serde(rename_all = "camelCase")]
1715pub struct NetworkConditions {
1716    #[serde(default)]
1717    #[doc = "Only matching requests will be affected by these conditions. Patterns use the URLPattern constructor string\n syntax (<https://urlpattern.spec.whatwg.org/>) and must be absolute. If the pattern is empty, all requests are\n matched (including p2p connections)."]
1718    pub url_pattern: String,
1719    #[serde(default)]
1720    #[doc = "Minimum latency from request sent to response headers received (ms)."]
1721    pub latency: JsFloat,
1722    #[serde(default)]
1723    #[doc = "Maximal aggregated download throughput (bytes/sec). -1 disables download throttling."]
1724    pub download_throughput: JsFloat,
1725    #[serde(default)]
1726    #[doc = "Maximal aggregated upload throughput (bytes/sec).  -1 disables upload throttling."]
1727    pub upload_throughput: JsFloat,
1728    #[builder(default)]
1729    #[serde(skip_serializing_if = "Option::is_none")]
1730    #[doc = "Connection type if known."]
1731    pub connection_type: Option<ConnectionType>,
1732    #[builder(default)]
1733    #[serde(skip_serializing_if = "Option::is_none")]
1734    #[serde(default)]
1735    #[doc = "WebRTC packet loss (percent, 0-100). 0 disables packet loss emulation, 100 drops all the packets."]
1736    pub packet_loss: Option<JsFloat>,
1737    #[builder(default)]
1738    #[serde(skip_serializing_if = "Option::is_none")]
1739    #[serde(default)]
1740    #[doc = "WebRTC packet queue length (packet). 0 removes any queue length limitations."]
1741    pub packet_queue_length: Option<JsUInt>,
1742    #[builder(default)]
1743    #[serde(skip_serializing_if = "Option::is_none")]
1744    #[serde(default)]
1745    #[doc = "WebRTC packetReordering feature."]
1746    pub packet_reordering: Option<bool>,
1747}
1748#[allow(deprecated)]
1749#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
1750#[builder(setter(into, strip_option))]
1751#[serde(rename_all = "camelCase")]
1752pub struct BlockPattern {
1753    #[serde(default)]
1754    #[doc = "URL pattern to match. Patterns use the URLPattern constructor string syntax\n (<https://urlpattern.spec.whatwg.org/>) and must be absolute. Example: `*://*:*/*.css`."]
1755    pub url_pattern: String,
1756    #[serde(default)]
1757    #[doc = "Whether or not to block the pattern. If false, a matching request will not be blocked even if it matches a later\n `BlockPattern`."]
1758    pub block: bool,
1759}
1760#[allow(deprecated)]
1761#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
1762#[builder(setter(into, strip_option))]
1763#[serde(rename_all = "camelCase")]
1764pub struct DirectTcpSocketOptions {
1765    #[serde(default)]
1766    #[doc = "TCP_NODELAY option"]
1767    pub no_delay: bool,
1768    #[builder(default)]
1769    #[serde(skip_serializing_if = "Option::is_none")]
1770    #[serde(default)]
1771    #[doc = "Expected to be unsigned integer."]
1772    pub keep_alive_delay: Option<JsFloat>,
1773    #[builder(default)]
1774    #[serde(skip_serializing_if = "Option::is_none")]
1775    #[serde(default)]
1776    #[doc = "Expected to be unsigned integer."]
1777    pub send_buffer_size: Option<JsFloat>,
1778    #[builder(default)]
1779    #[serde(skip_serializing_if = "Option::is_none")]
1780    #[serde(default)]
1781    #[doc = "Expected to be unsigned integer."]
1782    pub receive_buffer_size: Option<JsFloat>,
1783    #[builder(default)]
1784    #[serde(skip_serializing_if = "Option::is_none")]
1785    pub dns_query_type: Option<DirectSocketDnsQueryType>,
1786}
1787#[allow(deprecated)]
1788#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
1789#[builder(setter(into, strip_option))]
1790#[serde(rename_all = "camelCase")]
1791pub struct DirectUdpSocketOptions {
1792    #[builder(default)]
1793    #[serde(skip_serializing_if = "Option::is_none")]
1794    #[serde(default)]
1795    pub remote_addr: Option<String>,
1796    #[builder(default)]
1797    #[serde(skip_serializing_if = "Option::is_none")]
1798    #[serde(default)]
1799    #[doc = "Unsigned int 16."]
1800    pub remote_port: Option<JsUInt>,
1801    #[builder(default)]
1802    #[serde(skip_serializing_if = "Option::is_none")]
1803    #[serde(default)]
1804    pub local_addr: Option<String>,
1805    #[builder(default)]
1806    #[serde(skip_serializing_if = "Option::is_none")]
1807    #[serde(default)]
1808    #[doc = "Unsigned int 16."]
1809    pub local_port: Option<JsUInt>,
1810    #[builder(default)]
1811    #[serde(skip_serializing_if = "Option::is_none")]
1812    pub dns_query_type: Option<DirectSocketDnsQueryType>,
1813    #[builder(default)]
1814    #[serde(skip_serializing_if = "Option::is_none")]
1815    #[serde(default)]
1816    #[doc = "Expected to be unsigned integer."]
1817    pub send_buffer_size: Option<JsFloat>,
1818    #[builder(default)]
1819    #[serde(skip_serializing_if = "Option::is_none")]
1820    #[serde(default)]
1821    #[doc = "Expected to be unsigned integer."]
1822    pub receive_buffer_size: Option<JsFloat>,
1823    #[builder(default)]
1824    #[serde(skip_serializing_if = "Option::is_none")]
1825    #[serde(default)]
1826    pub multicast_loopback: Option<bool>,
1827    #[builder(default)]
1828    #[serde(skip_serializing_if = "Option::is_none")]
1829    #[serde(default)]
1830    #[doc = "Unsigned int 8."]
1831    pub multicast_time_to_live: Option<JsUInt>,
1832    #[builder(default)]
1833    #[serde(skip_serializing_if = "Option::is_none")]
1834    #[serde(default)]
1835    pub multicast_allow_address_sharing: Option<bool>,
1836}
1837#[allow(deprecated)]
1838#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
1839#[builder(setter(into, strip_option))]
1840#[serde(rename_all = "camelCase")]
1841pub struct DirectUdpMessage {
1842    pub data: String,
1843    #[builder(default)]
1844    #[serde(skip_serializing_if = "Option::is_none")]
1845    #[serde(default)]
1846    #[doc = "Null for connected mode."]
1847    pub remote_addr: Option<String>,
1848    #[builder(default)]
1849    #[serde(skip_serializing_if = "Option::is_none")]
1850    #[serde(default)]
1851    #[doc = "Null for connected mode.\n Expected to be unsigned integer."]
1852    pub remote_port: Option<JsUInt>,
1853}
1854#[allow(deprecated)]
1855#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
1856#[builder(setter(into, strip_option))]
1857#[serde(rename_all = "camelCase")]
1858pub struct ConnectTiming {
1859    #[serde(default)]
1860    #[doc = "Timing's requestTime is a baseline in seconds, while the other numbers are ticks in\n milliseconds relatively to this requestTime. Matches ResourceTiming's requestTime for\n the same request (but not for redirected requests)."]
1861    pub request_time: JsFloat,
1862}
1863#[allow(deprecated)]
1864#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
1865#[builder(setter(into, strip_option))]
1866#[serde(rename_all = "camelCase")]
1867pub struct ClientSecurityState {
1868    #[serde(default)]
1869    pub initiator_is_secure_context: bool,
1870    #[serde(rename = "initiatorIPAddressSpace")]
1871    pub initiator_ip_address_space: IpAddressSpace,
1872    pub local_network_access_request_policy: LocalNetworkAccessRequestPolicy,
1873}
1874#[allow(deprecated)]
1875#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
1876#[builder(setter(into, strip_option))]
1877#[serde(rename_all = "camelCase")]
1878pub struct CrossOriginOpenerPolicyStatus {
1879    pub value: CrossOriginOpenerPolicyValue,
1880    pub report_only_value: CrossOriginOpenerPolicyValue,
1881    #[builder(default)]
1882    #[serde(skip_serializing_if = "Option::is_none")]
1883    #[serde(default)]
1884    pub reporting_endpoint: Option<String>,
1885    #[builder(default)]
1886    #[serde(skip_serializing_if = "Option::is_none")]
1887    #[serde(default)]
1888    pub report_only_reporting_endpoint: Option<String>,
1889}
1890#[allow(deprecated)]
1891#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
1892#[builder(setter(into, strip_option))]
1893#[serde(rename_all = "camelCase")]
1894pub struct CrossOriginEmbedderPolicyStatus {
1895    pub value: CrossOriginEmbedderPolicyValue,
1896    pub report_only_value: CrossOriginEmbedderPolicyValue,
1897    #[builder(default)]
1898    #[serde(skip_serializing_if = "Option::is_none")]
1899    #[serde(default)]
1900    pub reporting_endpoint: Option<String>,
1901    #[builder(default)]
1902    #[serde(skip_serializing_if = "Option::is_none")]
1903    #[serde(default)]
1904    pub report_only_reporting_endpoint: Option<String>,
1905}
1906#[allow(deprecated)]
1907#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
1908#[builder(setter(into, strip_option))]
1909#[serde(rename_all = "camelCase")]
1910pub struct ContentSecurityPolicyStatus {
1911    #[serde(default)]
1912    pub effective_directives: String,
1913    #[serde(default)]
1914    pub is_enforced: bool,
1915    pub source: ContentSecurityPolicySource,
1916}
1917#[allow(deprecated)]
1918#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
1919#[builder(setter(into, strip_option))]
1920#[serde(rename_all = "camelCase")]
1921pub struct SecurityIsolationStatus {
1922    #[builder(default)]
1923    #[serde(skip_serializing_if = "Option::is_none")]
1924    pub coop: Option<CrossOriginOpenerPolicyStatus>,
1925    #[builder(default)]
1926    #[serde(skip_serializing_if = "Option::is_none")]
1927    pub coep: Option<CrossOriginEmbedderPolicyStatus>,
1928    #[builder(default)]
1929    #[serde(skip_serializing_if = "Option::is_none")]
1930    pub csp: Option<Vec<ContentSecurityPolicyStatus>>,
1931}
1932#[allow(deprecated)]
1933#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
1934#[builder(setter(into, strip_option))]
1935#[serde(rename_all = "camelCase")]
1936#[doc = "An object representing a report generated by the Reporting API."]
1937pub struct ReportingApiReport {
1938    pub id: ReportId,
1939    #[serde(default)]
1940    #[doc = "The URL of the document that triggered the report."]
1941    pub initiator_url: String,
1942    #[serde(default)]
1943    #[doc = "The name of the endpoint group that should be used to deliver the report."]
1944    pub destination: String,
1945    #[serde(default)]
1946    #[doc = "The type of the report (specifies the set of data that is contained in the report body)."]
1947    pub r#type: String,
1948    #[doc = "When the report was generated."]
1949    pub timestamp: network::TimeSinceEpoch,
1950    #[serde(default)]
1951    #[doc = "How many uploads deep the related request was."]
1952    pub depth: JsUInt,
1953    #[serde(default)]
1954    #[doc = "The number of delivery attempts made so far, not including an active attempt."]
1955    pub completed_attempts: JsUInt,
1956    #[serde(default)]
1957    pub body: Json,
1958    pub status: ReportStatus,
1959}
1960#[allow(deprecated)]
1961#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
1962#[builder(setter(into, strip_option))]
1963#[serde(rename_all = "camelCase")]
1964pub struct ReportingApiEndpoint {
1965    #[serde(default)]
1966    #[doc = "The URL of the endpoint to which reports may be delivered."]
1967    pub url: String,
1968    #[serde(default)]
1969    #[doc = "Name of the endpoint group."]
1970    pub group_name: String,
1971}
1972#[allow(deprecated)]
1973#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
1974#[builder(setter(into, strip_option))]
1975#[serde(rename_all = "camelCase")]
1976#[doc = "Unique identifier for a device bound session."]
1977pub struct DeviceBoundSessionKey {
1978    #[serde(default)]
1979    #[doc = "The site the session is set up for."]
1980    pub site: String,
1981    #[serde(default)]
1982    #[doc = "The id of the session."]
1983    pub id: String,
1984}
1985#[allow(deprecated)]
1986#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
1987#[builder(setter(into, strip_option))]
1988#[serde(rename_all = "camelCase")]
1989#[doc = "How a device bound session was used during a request."]
1990pub struct DeviceBoundSessionWithUsage {
1991    #[doc = "The key for the session."]
1992    pub session_key: DeviceBoundSessionKey,
1993    #[doc = "How the session was used (or not used)."]
1994    pub usage: DeviceBoundSessionWithUsageUsage,
1995}
1996#[allow(deprecated)]
1997#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
1998#[builder(setter(into, strip_option))]
1999#[serde(rename_all = "camelCase")]
2000#[doc = "A device bound session's cookie craving."]
2001pub struct DeviceBoundSessionCookieCraving {
2002    #[serde(default)]
2003    #[doc = "The name of the craving."]
2004    pub name: String,
2005    #[serde(default)]
2006    #[doc = "The domain of the craving."]
2007    pub domain: String,
2008    #[serde(default)]
2009    #[doc = "The path of the craving."]
2010    pub path: String,
2011    #[serde(default)]
2012    #[doc = "The `Secure` attribute of the craving attributes."]
2013    pub secure: bool,
2014    #[serde(default)]
2015    #[doc = "The `HttpOnly` attribute of the craving attributes."]
2016    pub http_only: bool,
2017    #[builder(default)]
2018    #[serde(skip_serializing_if = "Option::is_none")]
2019    #[doc = "The `SameSite` attribute of the craving attributes."]
2020    pub same_site: Option<CookieSameSite>,
2021}
2022#[allow(deprecated)]
2023#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
2024#[builder(setter(into, strip_option))]
2025#[serde(rename_all = "camelCase")]
2026#[doc = "A device bound session's inclusion URL rule."]
2027pub struct DeviceBoundSessionUrlRule {
2028    #[doc = "See comments on `net::device_bound_sessions::SessionInclusionRules::UrlRule::rule_type`."]
2029    pub rule_type: DeviceBoundSessionUrlRuleRuleType,
2030    #[serde(default)]
2031    #[doc = "See comments on `net::device_bound_sessions::SessionInclusionRules::UrlRule::host_pattern`."]
2032    pub host_pattern: String,
2033    #[serde(default)]
2034    #[doc = "See comments on `net::device_bound_sessions::SessionInclusionRules::UrlRule::path_prefix`."]
2035    pub path_prefix: String,
2036}
2037#[allow(deprecated)]
2038#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
2039#[builder(setter(into, strip_option))]
2040#[serde(rename_all = "camelCase")]
2041#[doc = "A device bound session's inclusion rules."]
2042pub struct DeviceBoundSessionInclusionRules {
2043    #[serde(default)]
2044    #[doc = "See comments on `net::device_bound_sessions::SessionInclusionRules::origin_`."]
2045    pub origin: String,
2046    #[serde(default)]
2047    #[doc = "Whether the whole site is included. See comments on\n `net::device_bound_sessions::SessionInclusionRules::include_site_` for more\n details; this boolean is true if that value is populated."]
2048    pub include_site: bool,
2049    #[doc = "See comments on `net::device_bound_sessions::SessionInclusionRules::url_rules_`."]
2050    pub url_rules: Vec<DeviceBoundSessionUrlRule>,
2051}
2052#[allow(deprecated)]
2053#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
2054#[builder(setter(into, strip_option))]
2055#[serde(rename_all = "camelCase")]
2056#[doc = "A device bound session."]
2057pub struct DeviceBoundSession {
2058    #[doc = "The site and session ID of the session."]
2059    pub key: DeviceBoundSessionKey,
2060    #[serde(default)]
2061    #[doc = "See comments on `net::device_bound_sessions::Session::refresh_url_`."]
2062    pub refresh_url: String,
2063    #[doc = "See comments on `net::device_bound_sessions::Session::inclusion_rules_`."]
2064    pub inclusion_rules: DeviceBoundSessionInclusionRules,
2065    #[doc = "See comments on `net::device_bound_sessions::Session::cookie_cravings_`."]
2066    pub cookie_cravings: Vec<DeviceBoundSessionCookieCraving>,
2067    #[doc = "See comments on `net::device_bound_sessions::Session::expiry_date_`."]
2068    pub expiry_date: network::TimeSinceEpoch,
2069    #[builder(default)]
2070    #[serde(skip_serializing_if = "Option::is_none")]
2071    #[serde(default)]
2072    #[doc = "See comments on `net::device_bound_sessions::Session::cached_challenge__`."]
2073    pub cached_challenge: Option<String>,
2074    #[serde(default)]
2075    #[doc = "See comments on `net::device_bound_sessions::Session::allowed_refresh_initiators_`."]
2076    pub allowed_refresh_initiators: Vec<String>,
2077}
2078#[allow(deprecated)]
2079#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
2080#[builder(setter(into, strip_option))]
2081#[serde(rename_all = "camelCase")]
2082#[doc = "Session event details specific to creation."]
2083pub struct CreationEventDetails {
2084    #[doc = "The result of the fetch attempt."]
2085    pub fetch_result: DeviceBoundSessionFetchResult,
2086    #[builder(default)]
2087    #[serde(skip_serializing_if = "Option::is_none")]
2088    #[doc = "The session if there was a newly created session. This is populated for\n all successful creation events."]
2089    pub new_session: Option<DeviceBoundSession>,
2090}
2091#[allow(deprecated)]
2092#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
2093#[builder(setter(into, strip_option))]
2094#[serde(rename_all = "camelCase")]
2095#[doc = "Session event details specific to refresh."]
2096pub struct RefreshEventDetails {
2097    #[doc = "The result of a refresh."]
2098    pub refresh_result: RefreshEventDetailsRefreshResult,
2099    #[builder(default)]
2100    #[serde(skip_serializing_if = "Option::is_none")]
2101    #[doc = "If there was a fetch attempt, the result of that."]
2102    pub fetch_result: Option<DeviceBoundSessionFetchResult>,
2103    #[builder(default)]
2104    #[serde(skip_serializing_if = "Option::is_none")]
2105    #[doc = "The session display if there was a newly created session. This is populated\n for any refresh event that modifies the session config."]
2106    pub new_session: Option<DeviceBoundSession>,
2107    #[serde(default)]
2108    #[doc = "See comments on `net::device_bound_sessions::RefreshEventResult::was_fully_proactive_refresh`."]
2109    pub was_fully_proactive_refresh: bool,
2110}
2111#[allow(deprecated)]
2112#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
2113#[builder(setter(into, strip_option))]
2114#[serde(rename_all = "camelCase")]
2115#[doc = "Session event details specific to termination."]
2116pub struct TerminationEventDetails {
2117    #[doc = "The reason for a session being deleted."]
2118    pub deletion_reason: TerminationEventDetailsDeletionReason,
2119}
2120#[allow(deprecated)]
2121#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
2122#[builder(setter(into, strip_option))]
2123#[serde(rename_all = "camelCase")]
2124#[doc = "Session event details specific to challenges."]
2125pub struct ChallengeEventDetails {
2126    #[doc = "The result of a challenge."]
2127    pub challenge_result: ChallengeEventDetailsChallengeResult,
2128    #[serde(default)]
2129    #[doc = "The challenge set."]
2130    pub challenge: String,
2131}
2132#[allow(deprecated)]
2133#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
2134#[builder(setter(into, strip_option))]
2135#[serde(rename_all = "camelCase")]
2136#[doc = "An object providing the result of a network resource load."]
2137pub struct LoadNetworkResourcePageResult {
2138    #[serde(default)]
2139    pub success: bool,
2140    #[builder(default)]
2141    #[serde(skip_serializing_if = "Option::is_none")]
2142    #[serde(default)]
2143    #[doc = "Optional values used for error reporting."]
2144    pub net_error: Option<JsFloat>,
2145    #[builder(default)]
2146    #[serde(skip_serializing_if = "Option::is_none")]
2147    #[serde(default)]
2148    pub net_error_name: Option<String>,
2149    #[builder(default)]
2150    #[serde(skip_serializing_if = "Option::is_none")]
2151    #[serde(default)]
2152    pub http_status_code: Option<JsFloat>,
2153    #[builder(default)]
2154    #[serde(skip_serializing_if = "Option::is_none")]
2155    #[doc = "If successful, one of the following two fields holds the result."]
2156    pub stream: Option<io::StreamHandle>,
2157    #[builder(default)]
2158    #[serde(skip_serializing_if = "Option::is_none")]
2159    #[doc = "Response headers."]
2160    pub headers: Option<network::Headers>,
2161}
2162#[allow(deprecated)]
2163#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
2164#[builder(setter(into, strip_option))]
2165#[serde(rename_all = "camelCase")]
2166#[doc = "An options object that may be extended later to better support CORS,\n CORB and streaming."]
2167pub struct LoadNetworkResourceOptions {
2168    #[serde(default)]
2169    pub disable_cache: bool,
2170    #[serde(default)]
2171    pub include_credentials: bool,
2172}
2173#[allow(deprecated)]
2174#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
2175#[builder(setter(into, strip_option))]
2176#[serde(rename_all = "camelCase")]
2177#[doc = "Sets a list of content encodings that will be accepted. Empty list means no encoding is accepted."]
2178pub struct SetAcceptedEncodings {
2179    #[doc = "List of accepted content encodings."]
2180    pub encodings: Vec<ContentEncoding>,
2181}
2182#[allow(deprecated)]
2183#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
2184pub struct ClearAcceptedEncodingsOverride(pub Option<Json>);
2185#[allow(deprecated)]
2186#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
2187pub struct CanClearBrowserCache(pub Option<Json>);
2188#[allow(deprecated)]
2189#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
2190pub struct CanClearBrowserCookies(pub Option<Json>);
2191#[allow(deprecated)]
2192#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
2193pub struct CanEmulateNetworkConditions(pub Option<Json>);
2194#[allow(deprecated)]
2195#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
2196pub struct ClearBrowserCache(pub Option<Json>);
2197#[allow(deprecated)]
2198#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
2199pub struct ClearBrowserCookies(pub Option<Json>);
2200#[allow(deprecated)]
2201#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
2202#[builder(setter(into, strip_option))]
2203#[serde(rename_all = "camelCase")]
2204#[doc = "Response to Network.requestIntercepted which either modifies the request to continue with any\n modifications, or blocks it, or completes it with the provided response bytes. If a network\n fetch occurs as a result which encounters a redirect an additional Network.requestIntercepted\n event will be sent with the same InterceptionId.\n Deprecated, use Fetch.continueRequest, Fetch.fulfillRequest and Fetch.failRequest instead."]
2205#[deprecated]
2206pub struct ContinueInterceptedRequest {
2207    pub interception_id: InterceptionId,
2208    #[builder(default)]
2209    #[serde(skip_serializing_if = "Option::is_none")]
2210    #[doc = "If set this causes the request to fail with the given reason. Passing `Aborted` for requests\n marked with `isNavigationRequest` also cancels the navigation. Must not be set in response\n to an authChallenge."]
2211    pub error_reason: Option<ErrorReason>,
2212    #[builder(default)]
2213    #[serde(skip_serializing_if = "Option::is_none")]
2214    #[doc = "If set the requests completes using with the provided base64 encoded raw response, including\n HTTP status line and headers etc... Must not be set in response to an authChallenge."]
2215    pub raw_response: Option<Vec<u8>>,
2216    #[builder(default)]
2217    #[serde(skip_serializing_if = "Option::is_none")]
2218    #[serde(default)]
2219    #[doc = "If set the request url will be modified in a way that's not observable by page. Must not be\n set in response to an authChallenge."]
2220    pub url: Option<String>,
2221    #[builder(default)]
2222    #[serde(skip_serializing_if = "Option::is_none")]
2223    #[serde(default)]
2224    #[doc = "If set this allows the request method to be overridden. Must not be set in response to an\n authChallenge."]
2225    pub method: Option<String>,
2226    #[builder(default)]
2227    #[serde(skip_serializing_if = "Option::is_none")]
2228    #[serde(default)]
2229    #[doc = "If set this allows postData to be set. Must not be set in response to an authChallenge."]
2230    pub post_data: Option<String>,
2231    #[builder(default)]
2232    #[serde(skip_serializing_if = "Option::is_none")]
2233    #[doc = "If set this allows the request headers to be changed. Must not be set in response to an\n authChallenge."]
2234    pub headers: Option<Headers>,
2235    #[builder(default)]
2236    #[serde(skip_serializing_if = "Option::is_none")]
2237    #[doc = "Response to a requestIntercepted with an authChallenge. Must not be set otherwise."]
2238    pub auth_challenge_response: Option<AuthChallengeResponse>,
2239}
2240#[allow(deprecated)]
2241#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
2242#[builder(setter(into, strip_option))]
2243#[serde(rename_all = "camelCase")]
2244#[doc = "Deletes browser cookies with matching name and url or domain/path/partitionKey pair."]
2245pub struct DeleteCookies {
2246    #[serde(default)]
2247    #[doc = "Name of the cookies to remove."]
2248    pub name: String,
2249    #[builder(default)]
2250    #[serde(skip_serializing_if = "Option::is_none")]
2251    #[serde(default)]
2252    #[doc = "If specified, deletes all the cookies with the given name where domain and path match\n provided URL."]
2253    pub url: Option<String>,
2254    #[builder(default)]
2255    #[serde(skip_serializing_if = "Option::is_none")]
2256    #[serde(default)]
2257    #[doc = "If specified, deletes only cookies with the exact domain."]
2258    pub domain: Option<String>,
2259    #[builder(default)]
2260    #[serde(skip_serializing_if = "Option::is_none")]
2261    #[serde(default)]
2262    #[doc = "If specified, deletes only cookies with the exact path."]
2263    pub path: Option<String>,
2264    #[builder(default)]
2265    #[serde(skip_serializing_if = "Option::is_none")]
2266    #[doc = "If specified, deletes only cookies with the the given name and partitionKey where\n all partition key attributes match the cookie partition key attribute."]
2267    pub partition_key: Option<CookiePartitionKey>,
2268}
2269#[allow(deprecated)]
2270#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
2271pub struct Disable(pub Option<Json>);
2272#[allow(deprecated)]
2273#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
2274#[builder(setter(into, strip_option))]
2275#[serde(rename_all = "camelCase")]
2276#[doc = "Activates emulation of network conditions. This command is deprecated in favor of the emulateNetworkConditionsByRule\n and overrideNetworkState commands, which can be used together to the same effect."]
2277#[deprecated]
2278pub struct EmulateNetworkConditions {
2279    #[serde(default)]
2280    #[doc = "True to emulate internet disconnection."]
2281    pub offline: bool,
2282    #[serde(default)]
2283    #[doc = "Minimum latency from request sent to response headers received (ms)."]
2284    pub latency: JsFloat,
2285    #[serde(default)]
2286    #[doc = "Maximal aggregated download throughput (bytes/sec). -1 disables download throttling."]
2287    pub download_throughput: JsFloat,
2288    #[serde(default)]
2289    #[doc = "Maximal aggregated upload throughput (bytes/sec).  -1 disables upload throttling."]
2290    pub upload_throughput: JsFloat,
2291    #[builder(default)]
2292    #[serde(skip_serializing_if = "Option::is_none")]
2293    #[doc = "Connection type if known."]
2294    pub connection_type: Option<ConnectionType>,
2295    #[builder(default)]
2296    #[serde(skip_serializing_if = "Option::is_none")]
2297    #[serde(default)]
2298    #[doc = "WebRTC packet loss (percent, 0-100). 0 disables packet loss emulation, 100 drops all the packets."]
2299    pub packet_loss: Option<JsFloat>,
2300    #[builder(default)]
2301    #[serde(skip_serializing_if = "Option::is_none")]
2302    #[serde(default)]
2303    #[doc = "WebRTC packet queue length (packet). 0 removes any queue length limitations."]
2304    pub packet_queue_length: Option<JsUInt>,
2305    #[builder(default)]
2306    #[serde(skip_serializing_if = "Option::is_none")]
2307    #[serde(default)]
2308    #[doc = "WebRTC packetReordering feature."]
2309    pub packet_reordering: Option<bool>,
2310}
2311#[allow(deprecated)]
2312#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
2313#[builder(setter(into, strip_option))]
2314#[serde(rename_all = "camelCase")]
2315#[doc = "Activates emulation of network conditions for individual requests using URL match patterns. Unlike the deprecated\n Network.emulateNetworkConditions this method does not affect `navigator` state. Use Network.overrideNetworkState to\n explicitly modify `navigator` behavior."]
2316pub struct EmulateNetworkConditionsByRule {
2317    #[serde(default)]
2318    #[doc = "True to emulate internet disconnection."]
2319    pub offline: bool,
2320    #[doc = "Configure conditions for matching requests. If multiple entries match a request, the first entry wins.  Global\n conditions can be configured by leaving the urlPattern for the conditions empty. These global conditions are\n also applied for throttling of p2p connections."]
2321    pub matched_network_conditions: Vec<NetworkConditions>,
2322}
2323#[allow(deprecated)]
2324#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
2325#[builder(setter(into, strip_option))]
2326#[serde(rename_all = "camelCase")]
2327#[doc = "Override the state of navigator.onLine and navigator.connection."]
2328pub struct OverrideNetworkState {
2329    #[serde(default)]
2330    #[doc = "True to emulate internet disconnection."]
2331    pub offline: bool,
2332    #[serde(default)]
2333    #[doc = "Minimum latency from request sent to response headers received (ms)."]
2334    pub latency: JsFloat,
2335    #[serde(default)]
2336    #[doc = "Maximal aggregated download throughput (bytes/sec). -1 disables download throttling."]
2337    pub download_throughput: JsFloat,
2338    #[serde(default)]
2339    #[doc = "Maximal aggregated upload throughput (bytes/sec).  -1 disables upload throttling."]
2340    pub upload_throughput: JsFloat,
2341    #[builder(default)]
2342    #[serde(skip_serializing_if = "Option::is_none")]
2343    #[doc = "Connection type if known."]
2344    pub connection_type: Option<ConnectionType>,
2345}
2346#[allow(deprecated)]
2347#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
2348#[builder(setter(into, strip_option))]
2349#[serde(rename_all = "camelCase")]
2350#[doc = "Enables network tracking, network events will now be delivered to the client."]
2351pub struct Enable {
2352    #[builder(default)]
2353    #[serde(skip_serializing_if = "Option::is_none")]
2354    #[serde(default)]
2355    #[doc = "Buffer size in bytes to use when preserving network payloads (XHRs, etc)."]
2356    pub max_total_buffer_size: Option<JsUInt>,
2357    #[builder(default)]
2358    #[serde(skip_serializing_if = "Option::is_none")]
2359    #[serde(default)]
2360    #[doc = "Per-resource buffer size in bytes to use when preserving network payloads (XHRs, etc)."]
2361    pub max_resource_buffer_size: Option<JsUInt>,
2362    #[builder(default)]
2363    #[serde(skip_serializing_if = "Option::is_none")]
2364    #[serde(default)]
2365    #[doc = "Longest post body size (in bytes) that would be included in requestWillBeSent notification"]
2366    pub max_post_data_size: Option<JsUInt>,
2367    #[builder(default)]
2368    #[serde(skip_serializing_if = "Option::is_none")]
2369    #[serde(default)]
2370    #[doc = "Whether DirectSocket chunk send/receive events should be reported."]
2371    pub report_direct_socket_traffic: Option<bool>,
2372    #[builder(default)]
2373    #[serde(skip_serializing_if = "Option::is_none")]
2374    #[serde(default)]
2375    #[doc = "Enable storing response bodies outside of renderer, so that these survive\n a cross-process navigation. Requires maxTotalBufferSize to be set.\n Currently defaults to false. This field is being deprecated in favor of the dedicated\n configureDurableMessages command, due to the possibility of deadlocks when awaiting\n Network.enable before issuing Runtime.runIfWaitingForDebugger."]
2376    pub enable_durable_messages: Option<bool>,
2377}
2378#[allow(deprecated)]
2379#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
2380#[builder(setter(into, strip_option))]
2381#[serde(rename_all = "camelCase")]
2382#[doc = "Configures storing response bodies outside of renderer, so that these survive\n a cross-process navigation.\n If maxTotalBufferSize is not set, durable messages are disabled."]
2383pub struct ConfigureDurableMessages {
2384    #[builder(default)]
2385    #[serde(skip_serializing_if = "Option::is_none")]
2386    #[serde(default)]
2387    #[doc = "Buffer size in bytes to use when preserving network payloads (XHRs, etc)."]
2388    pub max_total_buffer_size: Option<JsUInt>,
2389    #[builder(default)]
2390    #[serde(skip_serializing_if = "Option::is_none")]
2391    #[serde(default)]
2392    #[doc = "Per-resource buffer size in bytes to use when preserving network payloads (XHRs, etc)."]
2393    pub max_resource_buffer_size: Option<JsUInt>,
2394}
2395#[allow(deprecated)]
2396#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
2397pub struct GetAllCookies(pub Option<Json>);
2398#[allow(deprecated)]
2399#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
2400#[builder(setter(into, strip_option))]
2401#[serde(rename_all = "camelCase")]
2402#[doc = "Returns the DER-encoded certificate."]
2403pub struct GetCertificate {
2404    #[serde(default)]
2405    #[doc = "Origin to get certificate for."]
2406    pub origin: String,
2407}
2408#[allow(deprecated)]
2409#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
2410#[builder(setter(into, strip_option))]
2411#[serde(rename_all = "camelCase")]
2412#[doc = "Returns all browser cookies for the current URL. Depending on the backend support, will return\n detailed cookie information in the `cookies` field."]
2413pub struct GetCookies {
2414    #[builder(default)]
2415    #[serde(skip_serializing_if = "Option::is_none")]
2416    #[serde(default)]
2417    #[doc = "The list of URLs for which applicable cookies will be fetched.\n If not specified, it's assumed to be set to the list containing\n the URLs of the page and all of its subframes."]
2418    pub urls: Option<Vec<String>>,
2419}
2420#[allow(deprecated)]
2421#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
2422#[builder(setter(into, strip_option))]
2423#[serde(rename_all = "camelCase")]
2424#[doc = "Returns content served for the given request."]
2425pub struct GetResponseBody {
2426    #[doc = "Identifier of the network request to get content for."]
2427    pub request_id: RequestId,
2428}
2429#[allow(deprecated)]
2430#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
2431#[builder(setter(into, strip_option))]
2432#[serde(rename_all = "camelCase")]
2433#[doc = "Returns post data sent with the request. Returns an error when no data was sent with the request."]
2434pub struct GetRequestPostData {
2435    #[doc = "Identifier of the network request to get content for."]
2436    pub request_id: RequestId,
2437}
2438#[allow(deprecated)]
2439#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
2440#[builder(setter(into, strip_option))]
2441#[serde(rename_all = "camelCase")]
2442#[doc = "Returns content served for the given currently intercepted request."]
2443pub struct GetResponseBodyForInterception {
2444    #[doc = "Identifier for the intercepted request to get body for."]
2445    pub interception_id: InterceptionId,
2446}
2447#[allow(deprecated)]
2448#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
2449#[builder(setter(into, strip_option))]
2450#[serde(rename_all = "camelCase")]
2451#[doc = "Returns a handle to the stream representing the response body. Note that after this command,\n the intercepted request can't be continued as is -- you either need to cancel it or to provide\n the response body. The stream only supports sequential read, IO.read will fail if the position\n is specified."]
2452pub struct TakeResponseBodyForInterceptionAsStream {
2453    pub interception_id: InterceptionId,
2454}
2455#[allow(deprecated)]
2456#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
2457#[builder(setter(into, strip_option))]
2458#[serde(rename_all = "camelCase")]
2459#[doc = "This method sends a new XMLHttpRequest which is identical to the original one. The following\n parameters should be identical: method, url, async, request body, extra headers, withCredentials\n attribute, user, password."]
2460pub struct ReplayXHR {
2461    #[doc = "Identifier of XHR to replay."]
2462    pub request_id: RequestId,
2463}
2464#[allow(deprecated)]
2465#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
2466#[builder(setter(into, strip_option))]
2467#[serde(rename_all = "camelCase")]
2468#[doc = "Searches for given string in response content."]
2469pub struct SearchInResponseBody {
2470    #[doc = "Identifier of the network response to search."]
2471    pub request_id: RequestId,
2472    #[serde(default)]
2473    #[doc = "String to search for."]
2474    pub query: String,
2475    #[builder(default)]
2476    #[serde(skip_serializing_if = "Option::is_none")]
2477    #[serde(default)]
2478    #[doc = "If true, search is case sensitive."]
2479    pub case_sensitive: Option<bool>,
2480    #[builder(default)]
2481    #[serde(skip_serializing_if = "Option::is_none")]
2482    #[serde(default)]
2483    #[doc = "If true, treats string parameter as regex."]
2484    pub is_regex: Option<bool>,
2485}
2486#[allow(deprecated)]
2487#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
2488#[builder(setter(into, strip_option))]
2489#[serde(rename_all = "camelCase")]
2490#[doc = "Blocks URLs from loading."]
2491pub struct SetBlockedURLs {
2492    #[builder(default)]
2493    #[serde(skip_serializing_if = "Option::is_none")]
2494    #[doc = "Patterns to match in the order in which they are given. These patterns\n also take precedence over any wildcard patterns defined in `urls`."]
2495    pub url_patterns: Option<Vec<BlockPattern>>,
2496    #[builder(default)]
2497    #[serde(skip_serializing_if = "Option::is_none")]
2498    #[serde(default)]
2499    #[doc = "URL patterns to block. Wildcards ('*') are allowed."]
2500    #[deprecated]
2501    pub urls: Option<Vec<String>>,
2502}
2503#[allow(deprecated)]
2504#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
2505#[builder(setter(into, strip_option))]
2506#[serde(rename_all = "camelCase")]
2507#[doc = "Toggles ignoring of service worker for each request."]
2508pub struct SetBypassServiceWorker {
2509    #[serde(default)]
2510    #[doc = "Bypass service worker and load from network."]
2511    pub bypass: bool,
2512}
2513#[allow(deprecated)]
2514#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
2515#[builder(setter(into, strip_option))]
2516#[serde(rename_all = "camelCase")]
2517#[doc = "Toggles ignoring cache for each request. If `true`, cache will not be used."]
2518pub struct SetCacheDisabled {
2519    #[serde(default)]
2520    #[doc = "Cache disabled state."]
2521    pub cache_disabled: bool,
2522}
2523#[allow(deprecated)]
2524#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
2525#[builder(setter(into, strip_option))]
2526#[serde(rename_all = "camelCase")]
2527#[doc = "Sets a cookie with the given cookie data; may overwrite equivalent cookies if they exist."]
2528pub struct SetCookie {
2529    #[serde(default)]
2530    #[doc = "Cookie name."]
2531    pub name: String,
2532    #[serde(default)]
2533    #[doc = "Cookie value."]
2534    pub value: String,
2535    #[builder(default)]
2536    #[serde(skip_serializing_if = "Option::is_none")]
2537    #[serde(default)]
2538    #[doc = "The request-URI to associate with the setting of the cookie. This value can affect the\n default domain, path, source port, and source scheme values of the created cookie."]
2539    pub url: Option<String>,
2540    #[builder(default)]
2541    #[serde(skip_serializing_if = "Option::is_none")]
2542    #[serde(default)]
2543    #[doc = "Cookie domain."]
2544    pub domain: Option<String>,
2545    #[builder(default)]
2546    #[serde(skip_serializing_if = "Option::is_none")]
2547    #[serde(default)]
2548    #[doc = "Cookie path."]
2549    pub path: Option<String>,
2550    #[builder(default)]
2551    #[serde(skip_serializing_if = "Option::is_none")]
2552    #[serde(default)]
2553    #[doc = "True if cookie is secure."]
2554    pub secure: Option<bool>,
2555    #[builder(default)]
2556    #[serde(skip_serializing_if = "Option::is_none")]
2557    #[serde(default)]
2558    #[doc = "True if cookie is http-only."]
2559    pub http_only: Option<bool>,
2560    #[builder(default)]
2561    #[serde(skip_serializing_if = "Option::is_none")]
2562    #[doc = "Cookie SameSite type."]
2563    pub same_site: Option<CookieSameSite>,
2564    #[builder(default)]
2565    #[serde(skip_serializing_if = "Option::is_none")]
2566    #[doc = "Cookie expiration date, session cookie if not set"]
2567    pub expires: Option<TimeSinceEpoch>,
2568    #[builder(default)]
2569    #[serde(skip_serializing_if = "Option::is_none")]
2570    #[doc = "Cookie Priority type."]
2571    pub priority: Option<CookiePriority>,
2572    #[builder(default)]
2573    #[serde(skip_serializing_if = "Option::is_none")]
2574    #[doc = "Cookie source scheme type."]
2575    pub source_scheme: Option<CookieSourceScheme>,
2576    #[builder(default)]
2577    #[serde(skip_serializing_if = "Option::is_none")]
2578    #[serde(default)]
2579    #[doc = "Cookie source port. Valid values are {-1, \\[1, 65535\\]}, -1 indicates an unspecified port.\n An unspecified port value allows protocol clients to emulate legacy cookie scope for the port.\n This is a temporary ability and it will be removed in the future."]
2580    pub source_port: Option<JsUInt>,
2581    #[builder(default)]
2582    #[serde(skip_serializing_if = "Option::is_none")]
2583    #[doc = "Cookie partition key. If not set, the cookie will be set as not partitioned."]
2584    pub partition_key: Option<CookiePartitionKey>,
2585}
2586#[allow(deprecated)]
2587#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
2588#[builder(setter(into, strip_option))]
2589#[serde(rename_all = "camelCase")]
2590#[doc = "Sets given cookies."]
2591pub struct SetCookies {
2592    #[doc = "Cookies to be set."]
2593    pub cookies: Vec<CookieParam>,
2594}
2595#[allow(deprecated)]
2596#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
2597#[builder(setter(into, strip_option))]
2598#[serde(rename_all = "camelCase")]
2599#[doc = "Specifies whether to always send extra HTTP headers with the requests from this page."]
2600pub struct SetExtraHTTPHeaders {
2601    #[doc = "Map with extra HTTP headers."]
2602    pub headers: Headers,
2603}
2604#[allow(deprecated)]
2605#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
2606#[builder(setter(into, strip_option))]
2607#[serde(rename_all = "camelCase")]
2608#[doc = "Specifies whether to attach a page script stack id in requests"]
2609pub struct SetAttachDebugStack {
2610    #[serde(default)]
2611    #[doc = "Whether to attach a page script stack for debugging purpose."]
2612    pub enabled: bool,
2613}
2614#[allow(deprecated)]
2615#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
2616#[builder(setter(into, strip_option))]
2617#[serde(rename_all = "camelCase")]
2618#[doc = "Sets the requests to intercept that match the provided patterns and optionally resource types.\n Deprecated, please use Fetch.enable instead."]
2619#[deprecated]
2620pub struct SetRequestInterception {
2621    #[doc = "Requests matching any of these patterns will be forwarded and wait for the corresponding\n continueInterceptedRequest call."]
2622    pub patterns: Vec<RequestPattern>,
2623}
2624#[allow(deprecated)]
2625#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
2626#[builder(setter(into, strip_option))]
2627#[serde(rename_all = "camelCase")]
2628#[doc = "Allows overriding user agent with the given string."]
2629pub struct SetUserAgentOverride {
2630    #[serde(default)]
2631    #[doc = "User agent to use."]
2632    pub user_agent: String,
2633    #[builder(default)]
2634    #[serde(skip_serializing_if = "Option::is_none")]
2635    #[serde(default)]
2636    #[doc = "Browser language to emulate."]
2637    pub accept_language: Option<String>,
2638    #[builder(default)]
2639    #[serde(skip_serializing_if = "Option::is_none")]
2640    #[serde(default)]
2641    #[doc = "The platform navigator.platform should return."]
2642    pub platform: Option<String>,
2643    #[builder(default)]
2644    #[serde(skip_serializing_if = "Option::is_none")]
2645    #[doc = "To be sent in Sec-CH-UA-* headers and returned in navigator.userAgentData"]
2646    pub user_agent_metadata: Option<emulation::UserAgentMetadata>,
2647}
2648#[allow(deprecated)]
2649#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
2650#[builder(setter(into, strip_option))]
2651#[serde(rename_all = "camelCase")]
2652#[doc = "Enables streaming of the response for the given requestId.\n If enabled, the dataReceived event contains the data that was received during streaming."]
2653pub struct StreamResourceContent {
2654    #[doc = "Identifier of the request to stream."]
2655    pub request_id: RequestId,
2656}
2657#[allow(deprecated)]
2658#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
2659#[builder(setter(into, strip_option))]
2660#[serde(rename_all = "camelCase")]
2661#[doc = "Returns information about the COEP/COOP isolation status."]
2662pub struct GetSecurityIsolationStatus {
2663    #[builder(default)]
2664    #[serde(skip_serializing_if = "Option::is_none")]
2665    #[doc = "If no frameId is provided, the status of the target is provided."]
2666    pub frame_id: Option<page::FrameId>,
2667}
2668#[allow(deprecated)]
2669#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
2670#[builder(setter(into, strip_option))]
2671#[serde(rename_all = "camelCase")]
2672#[doc = "Enables tracking for the Reporting API, events generated by the Reporting API will now be delivered to the client.\n Enabling triggers 'reportingApiReportAdded' for all existing reports."]
2673pub struct EnableReportingApi {
2674    #[serde(default)]
2675    #[doc = "Whether to enable or disable events for the Reporting API"]
2676    pub enable: bool,
2677}
2678#[allow(deprecated)]
2679#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
2680#[builder(setter(into, strip_option))]
2681#[serde(rename_all = "camelCase")]
2682#[doc = "Sets up tracking device bound sessions and fetching of initial set of sessions."]
2683pub struct EnableDeviceBoundSessions {
2684    #[serde(default)]
2685    #[doc = "Whether to enable or disable events."]
2686    pub enable: bool,
2687}
2688#[allow(deprecated)]
2689#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
2690#[builder(setter(into, strip_option))]
2691#[serde(rename_all = "camelCase")]
2692#[doc = "Fetches the schemeful site for a specific origin."]
2693pub struct FetchSchemefulSite {
2694    #[serde(default)]
2695    #[doc = "The URL origin."]
2696    pub origin: String,
2697}
2698#[allow(deprecated)]
2699#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
2700#[builder(setter(into, strip_option))]
2701#[serde(rename_all = "camelCase")]
2702#[doc = "Fetches the resource and returns the content."]
2703pub struct LoadNetworkResource {
2704    #[builder(default)]
2705    #[serde(skip_serializing_if = "Option::is_none")]
2706    #[doc = "Frame id to get the resource for. Mandatory for frame targets, and\n should be omitted for worker targets."]
2707    pub frame_id: Option<page::FrameId>,
2708    #[serde(default)]
2709    #[doc = "URL of the resource to get content for."]
2710    pub url: String,
2711    #[doc = "Options for the request."]
2712    pub options: LoadNetworkResourceOptions,
2713}
2714#[allow(deprecated)]
2715#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
2716#[builder(setter(into, strip_option))]
2717#[serde(rename_all = "camelCase")]
2718#[doc = "Sets Controls for third-party cookie access\n Page reload is required before the new cookie behavior will be observed"]
2719pub struct SetCookieControls {
2720    #[serde(default)]
2721    #[doc = "Whether 3pc restriction is enabled."]
2722    pub enable_third_party_cookie_restriction: bool,
2723    #[serde(default)]
2724    #[doc = "Whether 3pc grace period exception should be enabled; false by default."]
2725    pub disable_third_party_cookie_metadata: bool,
2726    #[serde(default)]
2727    #[doc = "Whether 3pc heuristics exceptions should be enabled; false by default."]
2728    pub disable_third_party_cookie_heuristics: bool,
2729}
2730#[allow(deprecated)]
2731#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
2732#[doc = "Sets a list of content encodings that will be accepted. Empty list means no encoding is accepted."]
2733pub struct SetAcceptedEncodingsReturnObject(pub Option<Json>);
2734#[allow(deprecated)]
2735#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
2736#[doc = "Clears accepted encodings set by setAcceptedEncodings"]
2737pub struct ClearAcceptedEncodingsOverrideReturnObject(pub Option<Json>);
2738#[allow(deprecated)]
2739#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
2740#[serde(rename_all = "camelCase")]
2741#[doc = "Tells whether clearing browser cache is supported."]
2742#[deprecated]
2743pub struct CanClearBrowserCacheReturnObject {
2744    #[serde(default)]
2745    #[doc = "True if browser cache can be cleared."]
2746    pub result: bool,
2747}
2748#[allow(deprecated)]
2749#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
2750#[serde(rename_all = "camelCase")]
2751#[doc = "Tells whether clearing browser cookies is supported."]
2752#[deprecated]
2753pub struct CanClearBrowserCookiesReturnObject {
2754    #[serde(default)]
2755    #[doc = "True if browser cookies can be cleared."]
2756    pub result: bool,
2757}
2758#[allow(deprecated)]
2759#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
2760#[serde(rename_all = "camelCase")]
2761#[doc = "Tells whether emulation of network conditions is supported."]
2762#[deprecated]
2763pub struct CanEmulateNetworkConditionsReturnObject {
2764    #[serde(default)]
2765    #[doc = "True if emulation of network conditions is supported."]
2766    pub result: bool,
2767}
2768#[allow(deprecated)]
2769#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
2770#[doc = "Clears browser cache."]
2771pub struct ClearBrowserCacheReturnObject(pub Option<Json>);
2772#[allow(deprecated)]
2773#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
2774#[doc = "Clears browser cookies."]
2775pub struct ClearBrowserCookiesReturnObject(pub Option<Json>);
2776#[allow(deprecated)]
2777#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
2778#[doc = "Response to Network.requestIntercepted which either modifies the request to continue with any\n modifications, or blocks it, or completes it with the provided response bytes. If a network\n fetch occurs as a result which encounters a redirect an additional Network.requestIntercepted\n event will be sent with the same InterceptionId.\n Deprecated, use Fetch.continueRequest, Fetch.fulfillRequest and Fetch.failRequest instead."]
2779#[deprecated]
2780pub struct ContinueInterceptedRequestReturnObject(pub Option<Json>);
2781#[allow(deprecated)]
2782#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
2783#[doc = "Deletes browser cookies with matching name and url or domain/path/partitionKey pair."]
2784pub struct DeleteCookiesReturnObject(pub Option<Json>);
2785#[allow(deprecated)]
2786#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
2787#[doc = "Disables network tracking, prevents network events from being sent to the client."]
2788pub struct DisableReturnObject(pub Option<Json>);
2789#[allow(deprecated)]
2790#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
2791#[doc = "Activates emulation of network conditions. This command is deprecated in favor of the emulateNetworkConditionsByRule\n and overrideNetworkState commands, which can be used together to the same effect."]
2792#[deprecated]
2793pub struct EmulateNetworkConditionsReturnObject(pub Option<Json>);
2794#[allow(deprecated)]
2795#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
2796#[serde(rename_all = "camelCase")]
2797#[doc = "Activates emulation of network conditions for individual requests using URL match patterns. Unlike the deprecated\n Network.emulateNetworkConditions this method does not affect `navigator` state. Use Network.overrideNetworkState to\n explicitly modify `navigator` behavior."]
2798pub struct EmulateNetworkConditionsByRuleReturnObject {
2799    #[doc = "An id for each entry in matchedNetworkConditions. The id will be included in the requestWillBeSentExtraInfo for\n requests affected by a rule."]
2800    pub rule_ids: Vec<String>,
2801}
2802#[allow(deprecated)]
2803#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
2804#[doc = "Override the state of navigator.onLine and navigator.connection."]
2805pub struct OverrideNetworkStateReturnObject(pub Option<Json>);
2806#[allow(deprecated)]
2807#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
2808#[doc = "Enables network tracking, network events will now be delivered to the client."]
2809pub struct EnableReturnObject(pub Option<Json>);
2810#[allow(deprecated)]
2811#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
2812#[doc = "Configures storing response bodies outside of renderer, so that these survive\n a cross-process navigation.\n If maxTotalBufferSize is not set, durable messages are disabled."]
2813pub struct ConfigureDurableMessagesReturnObject(pub Option<Json>);
2814#[allow(deprecated)]
2815#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
2816#[serde(rename_all = "camelCase")]
2817#[doc = "Returns all browser cookies. Depending on the backend support, will return detailed cookie\n information in the `cookies` field.\n Deprecated. Use Storage.getCookies instead."]
2818#[deprecated]
2819pub struct GetAllCookiesReturnObject {
2820    #[doc = "Array of cookie objects."]
2821    pub cookies: Vec<Cookie>,
2822}
2823#[allow(deprecated)]
2824#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
2825#[serde(rename_all = "camelCase")]
2826#[doc = "Returns the DER-encoded certificate."]
2827pub struct GetCertificateReturnObject {
2828    pub table_names: Vec<String>,
2829}
2830#[allow(deprecated)]
2831#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
2832#[serde(rename_all = "camelCase")]
2833#[doc = "Returns all browser cookies for the current URL. Depending on the backend support, will return\n detailed cookie information in the `cookies` field."]
2834pub struct GetCookiesReturnObject {
2835    #[doc = "Array of cookie objects."]
2836    pub cookies: Vec<Cookie>,
2837}
2838#[allow(deprecated)]
2839#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
2840#[serde(rename_all = "camelCase")]
2841#[doc = "Returns content served for the given request."]
2842pub struct GetResponseBodyReturnObject {
2843    #[serde(default)]
2844    #[doc = "Response body."]
2845    pub body: String,
2846    #[serde(default)]
2847    #[doc = "True, if content was sent as base64."]
2848    pub base_64_encoded: bool,
2849}
2850#[allow(deprecated)]
2851#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
2852#[serde(rename_all = "camelCase")]
2853#[doc = "Returns post data sent with the request. Returns an error when no data was sent with the request."]
2854pub struct GetRequestPostDataReturnObject {
2855    #[serde(default)]
2856    #[doc = "Request body string, omitting files from multipart requests"]
2857    pub post_data: String,
2858    #[serde(default)]
2859    #[doc = "True, if content was sent as base64."]
2860    pub base_64_encoded: bool,
2861}
2862#[allow(deprecated)]
2863#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
2864#[serde(rename_all = "camelCase")]
2865#[doc = "Returns content served for the given currently intercepted request."]
2866pub struct GetResponseBodyForInterceptionReturnObject {
2867    #[serde(default)]
2868    #[doc = "Response body."]
2869    pub body: String,
2870    #[serde(default)]
2871    #[doc = "True, if content was sent as base64."]
2872    pub base_64_encoded: bool,
2873}
2874#[allow(deprecated)]
2875#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
2876#[serde(rename_all = "camelCase")]
2877#[doc = "Returns a handle to the stream representing the response body. Note that after this command,\n the intercepted request can't be continued as is -- you either need to cancel it or to provide\n the response body. The stream only supports sequential read, IO.read will fail if the position\n is specified."]
2878pub struct TakeResponseBodyForInterceptionAsStreamReturnObject {
2879    pub stream: io::StreamHandle,
2880}
2881#[allow(deprecated)]
2882#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
2883#[doc = "This method sends a new XMLHttpRequest which is identical to the original one. The following\n parameters should be identical: method, url, async, request body, extra headers, withCredentials\n attribute, user, password."]
2884pub struct ReplayXHRReturnObject(pub Option<Json>);
2885#[allow(deprecated)]
2886#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
2887#[serde(rename_all = "camelCase")]
2888#[doc = "Searches for given string in response content."]
2889pub struct SearchInResponseBodyReturnObject {
2890    #[doc = "List of search matches."]
2891    pub result: debugger::SearchMatch,
2892}
2893#[allow(deprecated)]
2894#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
2895#[doc = "Blocks URLs from loading."]
2896pub struct SetBlockedURLsReturnObject(pub Option<Json>);
2897#[allow(deprecated)]
2898#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
2899#[doc = "Toggles ignoring of service worker for each request."]
2900pub struct SetBypassServiceWorkerReturnObject(pub Option<Json>);
2901#[allow(deprecated)]
2902#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
2903#[doc = "Toggles ignoring cache for each request. If `true`, cache will not be used."]
2904pub struct SetCacheDisabledReturnObject(pub Option<Json>);
2905#[allow(deprecated)]
2906#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
2907#[serde(rename_all = "camelCase")]
2908#[doc = "Sets a cookie with the given cookie data; may overwrite equivalent cookies if they exist."]
2909pub struct SetCookieReturnObject {
2910    #[serde(default)]
2911    #[doc = "Always set to true. If an error occurs, the response indicates protocol error."]
2912    #[deprecated]
2913    pub success: bool,
2914}
2915#[allow(deprecated)]
2916#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
2917#[doc = "Sets given cookies."]
2918pub struct SetCookiesReturnObject(pub Option<Json>);
2919#[allow(deprecated)]
2920#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
2921#[doc = "Specifies whether to always send extra HTTP headers with the requests from this page."]
2922pub struct SetExtraHTTPHeadersReturnObject(pub Option<Json>);
2923#[allow(deprecated)]
2924#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
2925#[doc = "Specifies whether to attach a page script stack id in requests"]
2926pub struct SetAttachDebugStackReturnObject(pub Option<Json>);
2927#[allow(deprecated)]
2928#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
2929#[doc = "Sets the requests to intercept that match the provided patterns and optionally resource types.\n Deprecated, please use Fetch.enable instead."]
2930#[deprecated]
2931pub struct SetRequestInterceptionReturnObject(pub Option<Json>);
2932#[allow(deprecated)]
2933#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
2934#[doc = "Allows overriding user agent with the given string."]
2935pub struct SetUserAgentOverrideReturnObject(pub Option<Json>);
2936#[allow(deprecated)]
2937#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
2938#[serde(rename_all = "camelCase")]
2939#[doc = "Enables streaming of the response for the given requestId.\n If enabled, the dataReceived event contains the data that was received during streaming."]
2940pub struct StreamResourceContentReturnObject {
2941    #[doc = "Data that has been buffered until streaming is enabled."]
2942    pub buffered_data: String,
2943}
2944#[allow(deprecated)]
2945#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
2946#[serde(rename_all = "camelCase")]
2947#[doc = "Returns information about the COEP/COOP isolation status."]
2948pub struct GetSecurityIsolationStatusReturnObject {
2949    pub status: SecurityIsolationStatus,
2950}
2951#[allow(deprecated)]
2952#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
2953#[doc = "Enables tracking for the Reporting API, events generated by the Reporting API will now be delivered to the client.\n Enabling triggers 'reportingApiReportAdded' for all existing reports."]
2954pub struct EnableReportingApiReturnObject(pub Option<Json>);
2955#[allow(deprecated)]
2956#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
2957#[doc = "Sets up tracking device bound sessions and fetching of initial set of sessions."]
2958pub struct EnableDeviceBoundSessionsReturnObject(pub Option<Json>);
2959#[allow(deprecated)]
2960#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
2961#[serde(rename_all = "camelCase")]
2962#[doc = "Fetches the schemeful site for a specific origin."]
2963pub struct FetchSchemefulSiteReturnObject {
2964    #[serde(default)]
2965    #[doc = "The corresponding schemeful site."]
2966    pub schemeful_site: String,
2967}
2968#[allow(deprecated)]
2969#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
2970#[serde(rename_all = "camelCase")]
2971#[doc = "Fetches the resource and returns the content."]
2972pub struct LoadNetworkResourceReturnObject {
2973    pub resource: LoadNetworkResourcePageResult,
2974}
2975#[allow(deprecated)]
2976#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
2977#[doc = "Sets Controls for third-party cookie access\n Page reload is required before the new cookie behavior will be observed"]
2978pub struct SetCookieControlsReturnObject(pub Option<Json>);
2979#[allow(deprecated)]
2980impl Method for SetAcceptedEncodings {
2981    const NAME: &'static str = "Network.setAcceptedEncodings";
2982    type ReturnObject = SetAcceptedEncodingsReturnObject;
2983}
2984#[allow(deprecated)]
2985impl Method for ClearAcceptedEncodingsOverride {
2986    const NAME: &'static str = "Network.clearAcceptedEncodingsOverride";
2987    type ReturnObject = ClearAcceptedEncodingsOverrideReturnObject;
2988}
2989#[allow(deprecated)]
2990impl Method for CanClearBrowserCache {
2991    const NAME: &'static str = "Network.canClearBrowserCache";
2992    type ReturnObject = CanClearBrowserCacheReturnObject;
2993}
2994#[allow(deprecated)]
2995impl Method for CanClearBrowserCookies {
2996    const NAME: &'static str = "Network.canClearBrowserCookies";
2997    type ReturnObject = CanClearBrowserCookiesReturnObject;
2998}
2999#[allow(deprecated)]
3000impl Method for CanEmulateNetworkConditions {
3001    const NAME: &'static str = "Network.canEmulateNetworkConditions";
3002    type ReturnObject = CanEmulateNetworkConditionsReturnObject;
3003}
3004#[allow(deprecated)]
3005impl Method for ClearBrowserCache {
3006    const NAME: &'static str = "Network.clearBrowserCache";
3007    type ReturnObject = ClearBrowserCacheReturnObject;
3008}
3009#[allow(deprecated)]
3010impl Method for ClearBrowserCookies {
3011    const NAME: &'static str = "Network.clearBrowserCookies";
3012    type ReturnObject = ClearBrowserCookiesReturnObject;
3013}
3014#[allow(deprecated)]
3015impl Method for ContinueInterceptedRequest {
3016    const NAME: &'static str = "Network.continueInterceptedRequest";
3017    type ReturnObject = ContinueInterceptedRequestReturnObject;
3018}
3019#[allow(deprecated)]
3020impl Method for DeleteCookies {
3021    const NAME: &'static str = "Network.deleteCookies";
3022    type ReturnObject = DeleteCookiesReturnObject;
3023}
3024#[allow(deprecated)]
3025impl Method for Disable {
3026    const NAME: &'static str = "Network.disable";
3027    type ReturnObject = DisableReturnObject;
3028}
3029#[allow(deprecated)]
3030impl Method for EmulateNetworkConditions {
3031    const NAME: &'static str = "Network.emulateNetworkConditions";
3032    type ReturnObject = EmulateNetworkConditionsReturnObject;
3033}
3034#[allow(deprecated)]
3035impl Method for EmulateNetworkConditionsByRule {
3036    const NAME: &'static str = "Network.emulateNetworkConditionsByRule";
3037    type ReturnObject = EmulateNetworkConditionsByRuleReturnObject;
3038}
3039#[allow(deprecated)]
3040impl Method for OverrideNetworkState {
3041    const NAME: &'static str = "Network.overrideNetworkState";
3042    type ReturnObject = OverrideNetworkStateReturnObject;
3043}
3044#[allow(deprecated)]
3045impl Method for Enable {
3046    const NAME: &'static str = "Network.enable";
3047    type ReturnObject = EnableReturnObject;
3048}
3049#[allow(deprecated)]
3050impl Method for ConfigureDurableMessages {
3051    const NAME: &'static str = "Network.configureDurableMessages";
3052    type ReturnObject = ConfigureDurableMessagesReturnObject;
3053}
3054#[allow(deprecated)]
3055impl Method for GetAllCookies {
3056    const NAME: &'static str = "Network.getAllCookies";
3057    type ReturnObject = GetAllCookiesReturnObject;
3058}
3059#[allow(deprecated)]
3060impl Method for GetCertificate {
3061    const NAME: &'static str = "Network.getCertificate";
3062    type ReturnObject = GetCertificateReturnObject;
3063}
3064#[allow(deprecated)]
3065impl Method for GetCookies {
3066    const NAME: &'static str = "Network.getCookies";
3067    type ReturnObject = GetCookiesReturnObject;
3068}
3069#[allow(deprecated)]
3070impl Method for GetResponseBody {
3071    const NAME: &'static str = "Network.getResponseBody";
3072    type ReturnObject = GetResponseBodyReturnObject;
3073}
3074#[allow(deprecated)]
3075impl Method for GetRequestPostData {
3076    const NAME: &'static str = "Network.getRequestPostData";
3077    type ReturnObject = GetRequestPostDataReturnObject;
3078}
3079#[allow(deprecated)]
3080impl Method for GetResponseBodyForInterception {
3081    const NAME: &'static str = "Network.getResponseBodyForInterception";
3082    type ReturnObject = GetResponseBodyForInterceptionReturnObject;
3083}
3084#[allow(deprecated)]
3085impl Method for TakeResponseBodyForInterceptionAsStream {
3086    const NAME: &'static str = "Network.takeResponseBodyForInterceptionAsStream";
3087    type ReturnObject = TakeResponseBodyForInterceptionAsStreamReturnObject;
3088}
3089#[allow(deprecated)]
3090impl Method for ReplayXHR {
3091    const NAME: &'static str = "Network.replayXHR";
3092    type ReturnObject = ReplayXHRReturnObject;
3093}
3094#[allow(deprecated)]
3095impl Method for SearchInResponseBody {
3096    const NAME: &'static str = "Network.searchInResponseBody";
3097    type ReturnObject = SearchInResponseBodyReturnObject;
3098}
3099#[allow(deprecated)]
3100impl Method for SetBlockedURLs {
3101    const NAME: &'static str = "Network.setBlockedURLs";
3102    type ReturnObject = SetBlockedURLsReturnObject;
3103}
3104#[allow(deprecated)]
3105impl Method for SetBypassServiceWorker {
3106    const NAME: &'static str = "Network.setBypassServiceWorker";
3107    type ReturnObject = SetBypassServiceWorkerReturnObject;
3108}
3109#[allow(deprecated)]
3110impl Method for SetCacheDisabled {
3111    const NAME: &'static str = "Network.setCacheDisabled";
3112    type ReturnObject = SetCacheDisabledReturnObject;
3113}
3114#[allow(deprecated)]
3115impl Method for SetCookie {
3116    const NAME: &'static str = "Network.setCookie";
3117    type ReturnObject = SetCookieReturnObject;
3118}
3119#[allow(deprecated)]
3120impl Method for SetCookies {
3121    const NAME: &'static str = "Network.setCookies";
3122    type ReturnObject = SetCookiesReturnObject;
3123}
3124#[allow(deprecated)]
3125impl Method for SetExtraHTTPHeaders {
3126    const NAME: &'static str = "Network.setExtraHTTPHeaders";
3127    type ReturnObject = SetExtraHTTPHeadersReturnObject;
3128}
3129#[allow(deprecated)]
3130impl Method for SetAttachDebugStack {
3131    const NAME: &'static str = "Network.setAttachDebugStack";
3132    type ReturnObject = SetAttachDebugStackReturnObject;
3133}
3134#[allow(deprecated)]
3135impl Method for SetRequestInterception {
3136    const NAME: &'static str = "Network.setRequestInterception";
3137    type ReturnObject = SetRequestInterceptionReturnObject;
3138}
3139#[allow(deprecated)]
3140impl Method for SetUserAgentOverride {
3141    const NAME: &'static str = "Network.setUserAgentOverride";
3142    type ReturnObject = SetUserAgentOverrideReturnObject;
3143}
3144#[allow(deprecated)]
3145impl Method for StreamResourceContent {
3146    const NAME: &'static str = "Network.streamResourceContent";
3147    type ReturnObject = StreamResourceContentReturnObject;
3148}
3149#[allow(deprecated)]
3150impl Method for GetSecurityIsolationStatus {
3151    const NAME: &'static str = "Network.getSecurityIsolationStatus";
3152    type ReturnObject = GetSecurityIsolationStatusReturnObject;
3153}
3154#[allow(deprecated)]
3155impl Method for EnableReportingApi {
3156    const NAME: &'static str = "Network.enableReportingApi";
3157    type ReturnObject = EnableReportingApiReturnObject;
3158}
3159#[allow(deprecated)]
3160impl Method for EnableDeviceBoundSessions {
3161    const NAME: &'static str = "Network.enableDeviceBoundSessions";
3162    type ReturnObject = EnableDeviceBoundSessionsReturnObject;
3163}
3164#[allow(deprecated)]
3165impl Method for FetchSchemefulSite {
3166    const NAME: &'static str = "Network.fetchSchemefulSite";
3167    type ReturnObject = FetchSchemefulSiteReturnObject;
3168}
3169#[allow(deprecated)]
3170impl Method for LoadNetworkResource {
3171    const NAME: &'static str = "Network.loadNetworkResource";
3172    type ReturnObject = LoadNetworkResourceReturnObject;
3173}
3174#[allow(deprecated)]
3175impl Method for SetCookieControls {
3176    const NAME: &'static str = "Network.setCookieControls";
3177    type ReturnObject = SetCookieControlsReturnObject;
3178}
3179#[allow(dead_code)]
3180pub mod events {
3181    #[allow(unused_imports)]
3182    use super::super::types::*;
3183    #[allow(unused_imports)]
3184    use derive_builder::Builder;
3185    #[allow(unused_imports)]
3186    use serde::{Deserialize, Serialize};
3187    #[allow(unused_imports)]
3188    use serde_json::Value as Json;
3189    #[allow(deprecated)]
3190    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
3191    pub struct DataReceivedEvent {
3192        pub params: DataReceivedEventParams,
3193    }
3194    #[allow(deprecated)]
3195    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
3196    #[serde(rename_all = "camelCase")]
3197    pub struct DataReceivedEventParams {
3198        #[doc = "Request identifier."]
3199        pub request_id: super::RequestId,
3200        #[doc = "Timestamp."]
3201        pub timestamp: super::MonotonicTime,
3202        #[serde(default)]
3203        #[doc = "Data chunk length."]
3204        pub data_length: JsUInt,
3205        #[serde(default)]
3206        #[doc = "Actual bytes received (might be less than dataLength for compressed encodings)."]
3207        pub encoded_data_length: JsUInt,
3208        #[builder(default)]
3209        #[serde(skip_serializing_if = "Option::is_none")]
3210        #[serde(default)]
3211        #[doc = "Data that was received."]
3212        pub data: Option<String>,
3213    }
3214    #[allow(deprecated)]
3215    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
3216    pub struct EventSourceMessageReceivedEvent {
3217        pub params: EventSourceMessageReceivedEventParams,
3218    }
3219    #[allow(deprecated)]
3220    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
3221    #[serde(rename_all = "camelCase")]
3222    pub struct EventSourceMessageReceivedEventParams {
3223        #[doc = "Request identifier."]
3224        pub request_id: super::RequestId,
3225        #[doc = "Timestamp."]
3226        pub timestamp: super::MonotonicTime,
3227        #[serde(default)]
3228        #[doc = "Message type."]
3229        pub event_name: String,
3230        #[serde(default)]
3231        #[doc = "Message identifier."]
3232        pub event_id: String,
3233        #[serde(default)]
3234        #[doc = "Message content."]
3235        pub data: String,
3236    }
3237    #[allow(deprecated)]
3238    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
3239    pub struct LoadingFailedEvent {
3240        pub params: LoadingFailedEventParams,
3241    }
3242    #[allow(deprecated)]
3243    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
3244    #[serde(rename_all = "camelCase")]
3245    pub struct LoadingFailedEventParams {
3246        #[doc = "Request identifier."]
3247        pub request_id: super::RequestId,
3248        #[doc = "Timestamp."]
3249        pub timestamp: super::MonotonicTime,
3250        #[doc = "Resource type."]
3251        pub r#type: super::ResourceType,
3252        #[serde(default)]
3253        #[doc = "Error message. List of network errors: <https://cs.chromium.org/chromium/src/net/base/net_error_list.h>"]
3254        pub error_text: String,
3255        #[builder(default)]
3256        #[serde(skip_serializing_if = "Option::is_none")]
3257        #[serde(default)]
3258        #[doc = "True if loading was canceled."]
3259        pub canceled: Option<bool>,
3260        #[builder(default)]
3261        #[serde(skip_serializing_if = "Option::is_none")]
3262        #[doc = "The reason why loading was blocked, if any."]
3263        pub blocked_reason: Option<super::BlockedReason>,
3264        #[builder(default)]
3265        #[serde(skip_serializing_if = "Option::is_none")]
3266        #[doc = "The reason why loading was blocked by CORS, if any."]
3267        pub cors_error_status: Option<super::CorsErrorStatus>,
3268    }
3269    #[allow(deprecated)]
3270    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
3271    pub struct LoadingFinishedEvent {
3272        pub params: LoadingFinishedEventParams,
3273    }
3274    #[allow(deprecated)]
3275    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
3276    #[serde(rename_all = "camelCase")]
3277    pub struct LoadingFinishedEventParams {
3278        #[doc = "Request identifier."]
3279        pub request_id: super::RequestId,
3280        #[doc = "Timestamp."]
3281        pub timestamp: super::MonotonicTime,
3282        #[serde(default)]
3283        #[doc = "Total number of bytes received for this request."]
3284        pub encoded_data_length: JsFloat,
3285    }
3286    #[allow(deprecated)]
3287    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
3288    pub struct RequestInterceptedEvent {
3289        pub params: RequestInterceptedEventParams,
3290    }
3291    #[allow(deprecated)]
3292    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
3293    #[serde(rename_all = "camelCase")]
3294    pub struct RequestInterceptedEventParams {
3295        #[doc = "Each request the page makes will have a unique id, however if any redirects are encountered\n while processing that fetch, they will be reported with the same id as the original fetch.\n Likewise if HTTP authentication is needed then the same fetch id will be used."]
3296        pub interception_id: super::InterceptionId,
3297        pub request: super::Request,
3298        #[doc = "The id of the frame that initiated the request."]
3299        pub frame_id: super::super::page::FrameId,
3300        #[doc = "How the requested resource will be used."]
3301        pub resource_type: super::ResourceType,
3302        #[serde(default)]
3303        #[doc = "Whether this is a navigation request, which can abort the navigation completely."]
3304        pub is_navigation_request: bool,
3305        #[builder(default)]
3306        #[serde(skip_serializing_if = "Option::is_none")]
3307        #[serde(default)]
3308        #[doc = "Set if the request is a navigation that will result in a download.\n Only present after response is received from the server (i.e. HeadersReceived stage)."]
3309        pub is_download: Option<bool>,
3310        #[builder(default)]
3311        #[serde(skip_serializing_if = "Option::is_none")]
3312        #[serde(default)]
3313        #[doc = "Redirect location, only sent if a redirect was intercepted."]
3314        pub redirect_url: Option<String>,
3315        #[builder(default)]
3316        #[serde(skip_serializing_if = "Option::is_none")]
3317        #[doc = "Details of the Authorization Challenge encountered. If this is set then\n continueInterceptedRequest must contain an authChallengeResponse."]
3318        pub auth_challenge: Option<super::AuthChallenge>,
3319        #[builder(default)]
3320        #[serde(skip_serializing_if = "Option::is_none")]
3321        #[doc = "Response error if intercepted at response stage or if redirect occurred while intercepting\n request."]
3322        pub response_error_reason: Option<super::ErrorReason>,
3323        #[builder(default)]
3324        #[serde(skip_serializing_if = "Option::is_none")]
3325        #[serde(default)]
3326        #[doc = "Response code if intercepted at response stage or if redirect occurred while intercepting\n request or auth retry occurred."]
3327        pub response_status_code: Option<JsUInt>,
3328        #[builder(default)]
3329        #[serde(skip_serializing_if = "Option::is_none")]
3330        #[doc = "Response headers if intercepted at the response stage or if redirect occurred while\n intercepting request or auth retry occurred."]
3331        pub response_headers: Option<super::Headers>,
3332        #[builder(default)]
3333        #[serde(skip_serializing_if = "Option::is_none")]
3334        #[doc = "If the intercepted request had a corresponding requestWillBeSent event fired for it, then\n this requestId will be the same as the requestId present in the requestWillBeSent event."]
3335        pub request_id: Option<super::RequestId>,
3336    }
3337    #[allow(deprecated)]
3338    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
3339    pub struct RequestServedFromCacheEvent {
3340        pub params: RequestServedFromCacheEventParams,
3341    }
3342    #[allow(deprecated)]
3343    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
3344    #[serde(rename_all = "camelCase")]
3345    pub struct RequestServedFromCacheEventParams {
3346        #[doc = "Request identifier."]
3347        pub request_id: super::RequestId,
3348    }
3349    #[allow(deprecated)]
3350    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
3351    pub struct RequestWillBeSentEvent {
3352        pub params: RequestWillBeSentEventParams,
3353    }
3354    #[allow(deprecated)]
3355    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
3356    #[serde(rename_all = "camelCase")]
3357    pub struct RequestWillBeSentEventParams {
3358        #[doc = "Request identifier."]
3359        pub request_id: super::RequestId,
3360        #[doc = "Loader identifier. Empty string if the request is fetched from worker."]
3361        pub loader_id: super::LoaderId,
3362        #[serde(default)]
3363        #[doc = "URL of the document this request is loaded for."]
3364        #[serde(rename = "documentURL")]
3365        pub document_url: String,
3366        #[doc = "Request data."]
3367        pub request: super::Request,
3368        #[doc = "Timestamp."]
3369        pub timestamp: super::MonotonicTime,
3370        #[doc = "Timestamp."]
3371        pub wall_time: super::TimeSinceEpoch,
3372        #[doc = "Request initiator."]
3373        pub initiator: super::Initiator,
3374        #[serde(default)]
3375        #[doc = "In the case that redirectResponse is populated, this flag indicates whether\n requestWillBeSentExtraInfo and responseReceivedExtraInfo events will be or were emitted\n for the request which was just redirected."]
3376        pub redirect_has_extra_info: bool,
3377        #[builder(default)]
3378        #[serde(skip_serializing_if = "Option::is_none")]
3379        #[doc = "Redirect response data."]
3380        pub redirect_response: Option<super::Response>,
3381        #[builder(default)]
3382        #[serde(skip_serializing_if = "Option::is_none")]
3383        #[doc = "Type of this resource."]
3384        pub r#type: Option<super::ResourceType>,
3385        #[builder(default)]
3386        #[serde(skip_serializing_if = "Option::is_none")]
3387        #[doc = "Frame identifier."]
3388        pub frame_id: Option<super::super::page::FrameId>,
3389        #[builder(default)]
3390        #[serde(skip_serializing_if = "Option::is_none")]
3391        #[serde(default)]
3392        #[doc = "Whether the request is initiated by a user gesture. Defaults to false."]
3393        pub has_user_gesture: Option<bool>,
3394        #[builder(default)]
3395        #[serde(skip_serializing_if = "Option::is_none")]
3396        #[doc = "The render blocking behavior of the request."]
3397        pub render_blocking_behavior: Option<super::RenderBlockingBehavior>,
3398    }
3399    #[allow(deprecated)]
3400    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
3401    pub struct ResourceChangedPriorityEvent {
3402        pub params: ResourceChangedPriorityEventParams,
3403    }
3404    #[allow(deprecated)]
3405    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
3406    #[serde(rename_all = "camelCase")]
3407    pub struct ResourceChangedPriorityEventParams {
3408        #[doc = "Request identifier."]
3409        pub request_id: super::RequestId,
3410        #[doc = "New priority"]
3411        pub new_priority: super::ResourcePriority,
3412        #[doc = "Timestamp."]
3413        pub timestamp: super::MonotonicTime,
3414    }
3415    #[allow(deprecated)]
3416    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
3417    pub struct SignedExchangeReceivedEvent {
3418        pub params: SignedExchangeReceivedEventParams,
3419    }
3420    #[allow(deprecated)]
3421    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
3422    #[serde(rename_all = "camelCase")]
3423    pub struct SignedExchangeReceivedEventParams {
3424        #[doc = "Request identifier."]
3425        pub request_id: super::RequestId,
3426        #[doc = "Information about the signed exchange response."]
3427        pub info: super::SignedExchangeInfo,
3428    }
3429    #[allow(deprecated)]
3430    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
3431    pub struct ResponseReceivedEvent {
3432        pub params: ResponseReceivedEventParams,
3433    }
3434    #[allow(deprecated)]
3435    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
3436    #[serde(rename_all = "camelCase")]
3437    pub struct ResponseReceivedEventParams {
3438        #[doc = "Request identifier."]
3439        pub request_id: super::RequestId,
3440        #[doc = "Loader identifier. Empty string if the request is fetched from worker."]
3441        pub loader_id: super::LoaderId,
3442        #[doc = "Timestamp."]
3443        pub timestamp: super::MonotonicTime,
3444        #[doc = "Resource type."]
3445        pub r#type: super::ResourceType,
3446        #[doc = "Response data."]
3447        pub response: super::Response,
3448        #[serde(default)]
3449        #[doc = "Indicates whether requestWillBeSentExtraInfo and responseReceivedExtraInfo events will be\n or were emitted for this request."]
3450        pub has_extra_info: bool,
3451        #[builder(default)]
3452        #[serde(skip_serializing_if = "Option::is_none")]
3453        #[doc = "Frame identifier."]
3454        pub frame_id: Option<super::super::page::FrameId>,
3455    }
3456    #[allow(deprecated)]
3457    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
3458    pub struct WebSocketClosedEvent {
3459        pub params: WebSocketClosedEventParams,
3460    }
3461    #[allow(deprecated)]
3462    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
3463    #[serde(rename_all = "camelCase")]
3464    pub struct WebSocketClosedEventParams {
3465        #[doc = "Request identifier."]
3466        pub request_id: super::RequestId,
3467        #[doc = "Timestamp."]
3468        pub timestamp: super::MonotonicTime,
3469    }
3470    #[allow(deprecated)]
3471    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
3472    pub struct WebSocketCreatedEvent {
3473        pub params: WebSocketCreatedEventParams,
3474    }
3475    #[allow(deprecated)]
3476    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
3477    #[serde(rename_all = "camelCase")]
3478    pub struct WebSocketCreatedEventParams {
3479        #[doc = "Request identifier."]
3480        pub request_id: super::RequestId,
3481        #[serde(default)]
3482        #[doc = "WebSocket request URL."]
3483        pub url: String,
3484        #[builder(default)]
3485        #[serde(skip_serializing_if = "Option::is_none")]
3486        #[doc = "Request initiator."]
3487        pub initiator: Option<super::Initiator>,
3488    }
3489    #[allow(deprecated)]
3490    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
3491    pub struct WebSocketFrameErrorEvent {
3492        pub params: WebSocketFrameErrorEventParams,
3493    }
3494    #[allow(deprecated)]
3495    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
3496    #[serde(rename_all = "camelCase")]
3497    pub struct WebSocketFrameErrorEventParams {
3498        #[doc = "Request identifier."]
3499        pub request_id: super::RequestId,
3500        #[doc = "Timestamp."]
3501        pub timestamp: super::MonotonicTime,
3502        #[serde(default)]
3503        #[doc = "WebSocket error message."]
3504        pub error_message: String,
3505    }
3506    #[allow(deprecated)]
3507    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
3508    pub struct WebSocketFrameReceivedEvent {
3509        pub params: WebSocketFrameReceivedEventParams,
3510    }
3511    #[allow(deprecated)]
3512    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
3513    #[serde(rename_all = "camelCase")]
3514    pub struct WebSocketFrameReceivedEventParams {
3515        #[doc = "Request identifier."]
3516        pub request_id: super::RequestId,
3517        #[doc = "Timestamp."]
3518        pub timestamp: super::MonotonicTime,
3519        #[doc = "WebSocket response data."]
3520        pub response: super::WebSocketFrame,
3521    }
3522    #[allow(deprecated)]
3523    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
3524    pub struct WebSocketFrameSentEvent {
3525        pub params: WebSocketFrameSentEventParams,
3526    }
3527    #[allow(deprecated)]
3528    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
3529    #[serde(rename_all = "camelCase")]
3530    pub struct WebSocketFrameSentEventParams {
3531        #[doc = "Request identifier."]
3532        pub request_id: super::RequestId,
3533        #[doc = "Timestamp."]
3534        pub timestamp: super::MonotonicTime,
3535        #[doc = "WebSocket response data."]
3536        pub response: super::WebSocketFrame,
3537    }
3538    #[allow(deprecated)]
3539    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
3540    pub struct WebSocketHandshakeResponseReceivedEvent {
3541        pub params: WebSocketHandshakeResponseReceivedEventParams,
3542    }
3543    #[allow(deprecated)]
3544    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
3545    #[serde(rename_all = "camelCase")]
3546    pub struct WebSocketHandshakeResponseReceivedEventParams {
3547        #[doc = "Request identifier."]
3548        pub request_id: super::RequestId,
3549        #[doc = "Timestamp."]
3550        pub timestamp: super::MonotonicTime,
3551        #[doc = "WebSocket response data."]
3552        pub response: super::WebSocketResponse,
3553    }
3554    #[allow(deprecated)]
3555    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
3556    pub struct WebSocketWillSendHandshakeRequestEvent {
3557        pub params: WebSocketWillSendHandshakeRequestEventParams,
3558    }
3559    #[allow(deprecated)]
3560    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
3561    #[serde(rename_all = "camelCase")]
3562    pub struct WebSocketWillSendHandshakeRequestEventParams {
3563        #[doc = "Request identifier."]
3564        pub request_id: super::RequestId,
3565        #[doc = "Timestamp."]
3566        pub timestamp: super::MonotonicTime,
3567        #[doc = "UTC Timestamp."]
3568        pub wall_time: super::TimeSinceEpoch,
3569        #[doc = "WebSocket request data."]
3570        pub request: super::WebSocketRequest,
3571    }
3572    #[allow(deprecated)]
3573    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
3574    pub struct WebTransportCreatedEvent {
3575        pub params: WebTransportCreatedEventParams,
3576    }
3577    #[allow(deprecated)]
3578    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
3579    #[serde(rename_all = "camelCase")]
3580    pub struct WebTransportCreatedEventParams {
3581        #[doc = "WebTransport identifier."]
3582        pub transport_id: super::RequestId,
3583        #[serde(default)]
3584        #[doc = "WebTransport request URL."]
3585        pub url: String,
3586        #[doc = "Timestamp."]
3587        pub timestamp: super::MonotonicTime,
3588        #[builder(default)]
3589        #[serde(skip_serializing_if = "Option::is_none")]
3590        #[doc = "Request initiator."]
3591        pub initiator: Option<super::Initiator>,
3592    }
3593    #[allow(deprecated)]
3594    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
3595    pub struct WebTransportConnectionEstablishedEvent {
3596        pub params: WebTransportConnectionEstablishedEventParams,
3597    }
3598    #[allow(deprecated)]
3599    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
3600    #[serde(rename_all = "camelCase")]
3601    pub struct WebTransportConnectionEstablishedEventParams {
3602        #[doc = "WebTransport identifier."]
3603        pub transport_id: super::RequestId,
3604        #[doc = "Timestamp."]
3605        pub timestamp: super::MonotonicTime,
3606    }
3607    #[allow(deprecated)]
3608    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
3609    pub struct WebTransportClosedEvent {
3610        pub params: WebTransportClosedEventParams,
3611    }
3612    #[allow(deprecated)]
3613    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
3614    #[serde(rename_all = "camelCase")]
3615    pub struct WebTransportClosedEventParams {
3616        #[doc = "WebTransport identifier."]
3617        pub transport_id: super::RequestId,
3618        #[doc = "Timestamp."]
3619        pub timestamp: super::MonotonicTime,
3620    }
3621    #[allow(deprecated)]
3622    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
3623    pub struct DirectTCPSocketCreatedEvent {
3624        pub params: DirectTCPSocketCreatedEventParams,
3625    }
3626    #[allow(deprecated)]
3627    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
3628    #[serde(rename_all = "camelCase")]
3629    pub struct DirectTCPSocketCreatedEventParams {
3630        pub identifier: super::RequestId,
3631        #[serde(default)]
3632        pub remote_addr: String,
3633        #[serde(default)]
3634        #[doc = "Unsigned int 16."]
3635        pub remote_port: JsUInt,
3636        pub options: super::DirectTcpSocketOptions,
3637        pub timestamp: super::MonotonicTime,
3638        #[builder(default)]
3639        #[serde(skip_serializing_if = "Option::is_none")]
3640        pub initiator: Option<super::Initiator>,
3641    }
3642    #[allow(deprecated)]
3643    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
3644    pub struct DirectTCPSocketOpenedEvent {
3645        pub params: DirectTCPSocketOpenedEventParams,
3646    }
3647    #[allow(deprecated)]
3648    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
3649    #[serde(rename_all = "camelCase")]
3650    pub struct DirectTCPSocketOpenedEventParams {
3651        pub identifier: super::RequestId,
3652        #[serde(default)]
3653        pub remote_addr: String,
3654        #[serde(default)]
3655        #[doc = "Expected to be unsigned integer."]
3656        pub remote_port: JsUInt,
3657        pub timestamp: super::MonotonicTime,
3658        #[builder(default)]
3659        #[serde(skip_serializing_if = "Option::is_none")]
3660        #[serde(default)]
3661        pub local_addr: Option<String>,
3662        #[builder(default)]
3663        #[serde(skip_serializing_if = "Option::is_none")]
3664        #[serde(default)]
3665        #[doc = "Expected to be unsigned integer."]
3666        pub local_port: Option<JsUInt>,
3667    }
3668    #[allow(deprecated)]
3669    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
3670    pub struct DirectTCPSocketAbortedEvent {
3671        pub params: DirectTCPSocketAbortedEventParams,
3672    }
3673    #[allow(deprecated)]
3674    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
3675    #[serde(rename_all = "camelCase")]
3676    pub struct DirectTCPSocketAbortedEventParams {
3677        pub identifier: super::RequestId,
3678        #[serde(default)]
3679        pub error_message: String,
3680        pub timestamp: super::MonotonicTime,
3681    }
3682    #[allow(deprecated)]
3683    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
3684    pub struct DirectTCPSocketClosedEvent {
3685        pub params: DirectTCPSocketClosedEventParams,
3686    }
3687    #[allow(deprecated)]
3688    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
3689    #[serde(rename_all = "camelCase")]
3690    pub struct DirectTCPSocketClosedEventParams {
3691        pub identifier: super::RequestId,
3692        pub timestamp: super::MonotonicTime,
3693    }
3694    #[allow(deprecated)]
3695    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
3696    pub struct DirectTCPSocketChunkSentEvent {
3697        pub params: DirectTCPSocketChunkSentEventParams,
3698    }
3699    #[allow(deprecated)]
3700    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
3701    #[serde(rename_all = "camelCase")]
3702    pub struct DirectTCPSocketChunkSentEventParams {
3703        pub identifier: super::RequestId,
3704        #[serde(default)]
3705        pub data: String,
3706        pub timestamp: super::MonotonicTime,
3707    }
3708    #[allow(deprecated)]
3709    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
3710    pub struct DirectTCPSocketChunkReceivedEvent {
3711        pub params: DirectTCPSocketChunkReceivedEventParams,
3712    }
3713    #[allow(deprecated)]
3714    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
3715    #[serde(rename_all = "camelCase")]
3716    pub struct DirectTCPSocketChunkReceivedEventParams {
3717        pub identifier: super::RequestId,
3718        #[serde(default)]
3719        pub data: String,
3720        pub timestamp: super::MonotonicTime,
3721    }
3722    #[allow(deprecated)]
3723    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
3724    pub struct DirectUDPSocketJoinedMulticastGroupEvent {
3725        pub params: DirectUDPSocketJoinedMulticastGroupEventParams,
3726    }
3727    #[allow(deprecated)]
3728    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
3729    #[serde(rename_all = "camelCase")]
3730    pub struct DirectUDPSocketJoinedMulticastGroupEventParams {
3731        pub identifier: super::RequestId,
3732        #[serde(default)]
3733        #[serde(rename = "IPAddress")]
3734        pub ip_address: String,
3735    }
3736    #[allow(deprecated)]
3737    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
3738    pub struct DirectUDPSocketLeftMulticastGroupEvent {
3739        pub params: DirectUDPSocketLeftMulticastGroupEventParams,
3740    }
3741    #[allow(deprecated)]
3742    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
3743    #[serde(rename_all = "camelCase")]
3744    pub struct DirectUDPSocketLeftMulticastGroupEventParams {
3745        pub identifier: super::RequestId,
3746        #[serde(default)]
3747        #[serde(rename = "IPAddress")]
3748        pub ip_address: String,
3749    }
3750    #[allow(deprecated)]
3751    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
3752    pub struct DirectUDPSocketCreatedEvent {
3753        pub params: DirectUDPSocketCreatedEventParams,
3754    }
3755    #[allow(deprecated)]
3756    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
3757    #[serde(rename_all = "camelCase")]
3758    pub struct DirectUDPSocketCreatedEventParams {
3759        pub identifier: super::RequestId,
3760        pub options: super::DirectUdpSocketOptions,
3761        pub timestamp: super::MonotonicTime,
3762        #[builder(default)]
3763        #[serde(skip_serializing_if = "Option::is_none")]
3764        pub initiator: Option<super::Initiator>,
3765    }
3766    #[allow(deprecated)]
3767    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
3768    pub struct DirectUDPSocketOpenedEvent {
3769        pub params: DirectUDPSocketOpenedEventParams,
3770    }
3771    #[allow(deprecated)]
3772    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
3773    #[serde(rename_all = "camelCase")]
3774    pub struct DirectUDPSocketOpenedEventParams {
3775        pub identifier: super::RequestId,
3776        #[serde(default)]
3777        pub local_addr: String,
3778        #[serde(default)]
3779        #[doc = "Expected to be unsigned integer."]
3780        pub local_port: JsUInt,
3781        pub timestamp: super::MonotonicTime,
3782        #[builder(default)]
3783        #[serde(skip_serializing_if = "Option::is_none")]
3784        #[serde(default)]
3785        pub remote_addr: Option<String>,
3786        #[builder(default)]
3787        #[serde(skip_serializing_if = "Option::is_none")]
3788        #[serde(default)]
3789        #[doc = "Expected to be unsigned integer."]
3790        pub remote_port: Option<JsUInt>,
3791    }
3792    #[allow(deprecated)]
3793    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
3794    pub struct DirectUDPSocketAbortedEvent {
3795        pub params: DirectUDPSocketAbortedEventParams,
3796    }
3797    #[allow(deprecated)]
3798    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
3799    #[serde(rename_all = "camelCase")]
3800    pub struct DirectUDPSocketAbortedEventParams {
3801        pub identifier: super::RequestId,
3802        #[serde(default)]
3803        pub error_message: String,
3804        pub timestamp: super::MonotonicTime,
3805    }
3806    #[allow(deprecated)]
3807    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
3808    pub struct DirectUDPSocketClosedEvent {
3809        pub params: DirectUDPSocketClosedEventParams,
3810    }
3811    #[allow(deprecated)]
3812    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
3813    #[serde(rename_all = "camelCase")]
3814    pub struct DirectUDPSocketClosedEventParams {
3815        pub identifier: super::RequestId,
3816        pub timestamp: super::MonotonicTime,
3817    }
3818    #[allow(deprecated)]
3819    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
3820    pub struct DirectUDPSocketChunkSentEvent {
3821        pub params: DirectUDPSocketChunkSentEventParams,
3822    }
3823    #[allow(deprecated)]
3824    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
3825    #[serde(rename_all = "camelCase")]
3826    pub struct DirectUDPSocketChunkSentEventParams {
3827        pub identifier: super::RequestId,
3828        pub message: super::DirectUdpMessage,
3829        pub timestamp: super::MonotonicTime,
3830    }
3831    #[allow(deprecated)]
3832    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
3833    pub struct DirectUDPSocketChunkReceivedEvent {
3834        pub params: DirectUDPSocketChunkReceivedEventParams,
3835    }
3836    #[allow(deprecated)]
3837    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
3838    #[serde(rename_all = "camelCase")]
3839    pub struct DirectUDPSocketChunkReceivedEventParams {
3840        pub identifier: super::RequestId,
3841        pub message: super::DirectUdpMessage,
3842        pub timestamp: super::MonotonicTime,
3843    }
3844    #[allow(deprecated)]
3845    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
3846    pub struct RequestWillBeSentExtraInfoEvent {
3847        pub params: RequestWillBeSentExtraInfoEventParams,
3848    }
3849    #[allow(deprecated)]
3850    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
3851    #[serde(rename_all = "camelCase")]
3852    pub struct RequestWillBeSentExtraInfoEventParams {
3853        #[doc = "Request identifier. Used to match this information to an existing requestWillBeSent event."]
3854        pub request_id: super::RequestId,
3855        #[doc = "A list of cookies potentially associated to the requested URL. This includes both cookies sent with\n the request and the ones not sent; the latter are distinguished by having blockedReasons field set."]
3856        pub associated_cookies: Vec<super::AssociatedCookie>,
3857        #[doc = "Raw request headers as they will be sent over the wire."]
3858        pub headers: super::Headers,
3859        #[doc = "Connection timing information for the request."]
3860        pub connect_timing: super::ConnectTiming,
3861        #[builder(default)]
3862        #[serde(skip_serializing_if = "Option::is_none")]
3863        #[doc = "How the request site's device bound sessions were used during this request."]
3864        pub device_bound_session_usages: Option<Vec<super::DeviceBoundSessionWithUsage>>,
3865        #[builder(default)]
3866        #[serde(skip_serializing_if = "Option::is_none")]
3867        #[doc = "The client security state set for the request."]
3868        pub client_security_state: Option<super::ClientSecurityState>,
3869        #[builder(default)]
3870        #[serde(skip_serializing_if = "Option::is_none")]
3871        #[serde(default)]
3872        #[doc = "Whether the site has partitioned cookies stored in a partition different than the current one."]
3873        pub site_has_cookie_in_other_partition: Option<bool>,
3874        #[builder(default)]
3875        #[serde(skip_serializing_if = "Option::is_none")]
3876        #[serde(default)]
3877        #[doc = "The network conditions id if this request was affected by network conditions configured via\n emulateNetworkConditionsByRule."]
3878        pub applied_network_conditions_id: Option<String>,
3879    }
3880    #[allow(deprecated)]
3881    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
3882    pub struct ResponseReceivedExtraInfoEvent {
3883        pub params: ResponseReceivedExtraInfoEventParams,
3884    }
3885    #[allow(deprecated)]
3886    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
3887    #[serde(rename_all = "camelCase")]
3888    pub struct ResponseReceivedExtraInfoEventParams {
3889        #[doc = "Request identifier. Used to match this information to another responseReceived event."]
3890        pub request_id: super::RequestId,
3891        #[doc = "A list of cookies which were not stored from the response along with the corresponding\n reasons for blocking. The cookies here may not be valid due to syntax errors, which\n are represented by the invalid cookie line string instead of a proper cookie."]
3892        pub blocked_cookies: Vec<super::BlockedSetCookieWithReason>,
3893        #[doc = "Raw response headers as they were received over the wire.\n Duplicate headers in the response are represented as a single key with their values\n concatentated using `\\n` as the separator.\n See also `headersText` that contains verbatim text for HTTP/1.*."]
3894        pub headers: super::Headers,
3895        #[doc = "The IP address space of the resource. The address space can only be determined once the transport\n established the connection, so we can't send it in `requestWillBeSentExtraInfo`."]
3896        #[serde(rename = "resourceIPAddressSpace")]
3897        pub resource_ip_address_space: super::IpAddressSpace,
3898        #[serde(default)]
3899        #[doc = "The status code of the response. This is useful in cases the request failed and no responseReceived\n event is triggered, which is the case for, e.g., CORS errors. This is also the correct status code\n for cached requests, where the status in responseReceived is a 200 and this will be 304."]
3900        pub status_code: JsUInt,
3901        #[builder(default)]
3902        #[serde(skip_serializing_if = "Option::is_none")]
3903        #[serde(default)]
3904        #[doc = "Raw response header text as it was received over the wire. The raw text may not always be\n available, such as in the case of HTTP/2 or QUIC."]
3905        pub headers_text: Option<String>,
3906        #[builder(default)]
3907        #[serde(skip_serializing_if = "Option::is_none")]
3908        #[doc = "The cookie partition key that will be used to store partitioned cookies set in this response.\n Only sent when partitioned cookies are enabled."]
3909        pub cookie_partition_key: Option<super::CookiePartitionKey>,
3910        #[builder(default)]
3911        #[serde(skip_serializing_if = "Option::is_none")]
3912        #[serde(default)]
3913        #[doc = "True if partitioned cookies are enabled, but the partition key is not serializable to string."]
3914        pub cookie_partition_key_opaque: Option<bool>,
3915        #[builder(default)]
3916        #[serde(skip_serializing_if = "Option::is_none")]
3917        #[doc = "A list of cookies which should have been blocked by 3PCD but are exempted and stored from\n the response with the corresponding reason."]
3918        pub exempted_cookies: Option<Vec<super::ExemptedSetCookieWithReason>>,
3919    }
3920    #[allow(deprecated)]
3921    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
3922    pub struct ResponseReceivedEarlyHintsEvent {
3923        pub params: ResponseReceivedEarlyHintsEventParams,
3924    }
3925    #[allow(deprecated)]
3926    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
3927    #[serde(rename_all = "camelCase")]
3928    pub struct ResponseReceivedEarlyHintsEventParams {
3929        #[doc = "Request identifier. Used to match this information to another responseReceived event."]
3930        pub request_id: super::RequestId,
3931        #[doc = "Raw response headers as they were received over the wire.\n Duplicate headers in the response are represented as a single key with their values\n concatentated using `\\n` as the separator.\n See also `headersText` that contains verbatim text for HTTP/1.*."]
3932        pub headers: super::Headers,
3933    }
3934    #[allow(deprecated)]
3935    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
3936    pub struct TrustTokenOperationDoneEvent {
3937        pub params: TrustTokenOperationDoneEventParams,
3938    }
3939    #[allow(deprecated)]
3940    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
3941    #[serde(rename_all = "camelCase")]
3942    pub struct TrustTokenOperationDoneEventParams {
3943        #[doc = "Detailed success or error status of the operation.\n 'AlreadyExists' also signifies a successful operation, as the result\n of the operation already exists und thus, the operation was abort\n preemptively (e.g. a cache hit)."]
3944        pub status: super::TrustTokenOperationDoneStatusOption,
3945        pub r#type: super::TrustTokenOperationType,
3946        pub request_id: super::RequestId,
3947        #[builder(default)]
3948        #[serde(skip_serializing_if = "Option::is_none")]
3949        #[serde(default)]
3950        #[doc = "Top level origin. The context in which the operation was attempted."]
3951        pub top_level_origin: Option<String>,
3952        #[builder(default)]
3953        #[serde(skip_serializing_if = "Option::is_none")]
3954        #[serde(default)]
3955        #[doc = "Origin of the issuer in case of a \"Issuance\" or \"Redemption\" operation."]
3956        pub issuer_origin: Option<String>,
3957        #[builder(default)]
3958        #[serde(skip_serializing_if = "Option::is_none")]
3959        #[serde(default)]
3960        #[doc = "The number of obtained Trust Tokens on a successful \"Issuance\" operation."]
3961        pub issued_token_count: Option<JsUInt>,
3962    }
3963    #[allow(deprecated)]
3964    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
3965    pub struct PolicyUpdatedEvent(pub Option<Json>);
3966    #[allow(deprecated)]
3967    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
3968    pub struct ReportingApiReportAddedEvent {
3969        pub params: ReportingApiReportAddedEventParams,
3970    }
3971    #[allow(deprecated)]
3972    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
3973    #[serde(rename_all = "camelCase")]
3974    pub struct ReportingApiReportAddedEventParams {
3975        pub report: super::ReportingApiReport,
3976    }
3977    #[allow(deprecated)]
3978    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
3979    pub struct ReportingApiReportUpdatedEvent {
3980        pub params: ReportingApiReportUpdatedEventParams,
3981    }
3982    #[allow(deprecated)]
3983    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
3984    #[serde(rename_all = "camelCase")]
3985    pub struct ReportingApiReportUpdatedEventParams {
3986        pub report: super::ReportingApiReport,
3987    }
3988    #[allow(deprecated)]
3989    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
3990    pub struct ReportingApiEndpointsChangedForOriginEvent {
3991        pub params: ReportingApiEndpointsChangedForOriginEventParams,
3992    }
3993    #[allow(deprecated)]
3994    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
3995    #[serde(rename_all = "camelCase")]
3996    pub struct ReportingApiEndpointsChangedForOriginEventParams {
3997        #[serde(default)]
3998        #[doc = "Origin of the document(s) which configured the endpoints."]
3999        pub origin: String,
4000        pub endpoints: Vec<super::ReportingApiEndpoint>,
4001    }
4002    #[allow(deprecated)]
4003    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
4004    pub struct DeviceBoundSessionsAddedEvent {
4005        pub params: DeviceBoundSessionsAddedEventParams,
4006    }
4007    #[allow(deprecated)]
4008    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
4009    #[serde(rename_all = "camelCase")]
4010    pub struct DeviceBoundSessionsAddedEventParams {
4011        #[doc = "The device bound sessions."]
4012        pub sessions: Vec<super::DeviceBoundSession>,
4013    }
4014    #[allow(deprecated)]
4015    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
4016    pub struct DeviceBoundSessionEventOccurredEvent {
4017        pub params: DeviceBoundSessionEventOccurredEventParams,
4018    }
4019    #[allow(deprecated)]
4020    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
4021    #[serde(rename_all = "camelCase")]
4022    pub struct DeviceBoundSessionEventOccurredEventParams {
4023        #[doc = "A unique identifier for this session event."]
4024        pub event_id: super::DeviceBoundSessionEventId,
4025        #[serde(default)]
4026        #[doc = "The site this session event is associated with."]
4027        pub site: String,
4028        #[serde(default)]
4029        #[doc = "Whether this event was considered successful."]
4030        pub succeeded: bool,
4031        #[builder(default)]
4032        #[serde(skip_serializing_if = "Option::is_none")]
4033        #[serde(default)]
4034        #[doc = "The session ID this event is associated with. May not be populated for\n failed events."]
4035        pub session_id: Option<String>,
4036        #[builder(default)]
4037        #[serde(skip_serializing_if = "Option::is_none")]
4038        #[doc = "The below are the different session event type details. Exactly one is populated."]
4039        pub creation_event_details: Option<super::CreationEventDetails>,
4040        #[builder(default)]
4041        #[serde(skip_serializing_if = "Option::is_none")]
4042        pub refresh_event_details: Option<super::RefreshEventDetails>,
4043        #[builder(default)]
4044        #[serde(skip_serializing_if = "Option::is_none")]
4045        pub termination_event_details: Option<super::TerminationEventDetails>,
4046        #[builder(default)]
4047        #[serde(skip_serializing_if = "Option::is_none")]
4048        pub challenge_event_details: Option<super::ChallengeEventDetails>,
4049    }
4050}