1use serde::{Serialize, Deserialize};
4use serde_json::Value as JsonValue;
5
6#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
9pub enum ResourceType {
10 #[default]
11 Document,
12 Stylesheet,
13 Image,
14 Media,
15 Font,
16 Script,
17 TextTrack,
18 XHR,
19 Fetch,
20 Prefetch,
21 EventSource,
22 WebSocket,
23 Manifest,
24 SignedExchange,
25 Ping,
26 CSPViolationReport,
27 Preflight,
28 FedCM,
29 Other,
30}
31
32pub type LoaderId = String;
35
36pub type RequestId = String;
41
42pub type InterceptionId = String;
45
46#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
49pub enum ErrorReason {
50 #[default]
51 Failed,
52 Aborted,
53 TimedOut,
54 AccessDenied,
55 ConnectionClosed,
56 ConnectionReset,
57 ConnectionRefused,
58 ConnectionAborted,
59 ConnectionFailed,
60 NameNotResolved,
61 InternetDisconnected,
62 AddressUnreachable,
63 BlockedByClient,
64 BlockedByResponse,
65}
66
67pub type TimeSinceEpoch = f64;
70
71pub type MonotonicTime = f64;
74
75pub type Headers = serde_json::Map<String, JsonValue>;
78
79#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
82pub enum ConnectionType {
83 #[default]
84 None,
85 Cellular2g,
86 Cellular3g,
87 Cellular4g,
88 Bluetooth,
89 Ethernet,
90 Wifi,
91 Wimax,
92 Other,
93}
94
95#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
99pub enum CookieSameSite {
100 #[default]
101 Strict,
102 Lax,
103 None,
104}
105
106#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
110pub enum CookiePriority {
111 #[default]
112 Low,
113 Medium,
114 High,
115}
116
117#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
122pub enum CookieSourceScheme {
123 #[default]
124 Unset,
125 NonSecure,
126 Secure,
127}
128
129#[derive(Debug, Clone, Serialize, Deserialize, Default)]
132#[serde(rename_all = "camelCase")]
133pub struct ResourceTiming {
134 pub requestTime: f64,
138 pub proxyStart: f64,
141 pub proxyEnd: f64,
144 pub dnsStart: f64,
147 pub dnsEnd: f64,
150 pub connectStart: f64,
153 pub connectEnd: f64,
156 pub sslStart: f64,
159 pub sslEnd: f64,
162 pub workerStart: f64,
165 pub workerReady: f64,
168 pub workerFetchStart: f64,
171 pub workerRespondWithSettled: f64,
174 #[serde(skip_serializing_if = "Option::is_none")]
177 pub workerRouterEvaluationStart: Option<f64>,
178 #[serde(skip_serializing_if = "Option::is_none")]
181 pub workerCacheLookupStart: Option<f64>,
182 pub sendStart: f64,
185 pub sendEnd: f64,
188 pub pushStart: f64,
191 pub pushEnd: f64,
194 pub receiveHeadersStart: f64,
197 pub receiveHeadersEnd: f64,
200}
201
202#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
205pub enum ResourcePriority {
206 #[default]
207 VeryLow,
208 Low,
209 Medium,
210 High,
211 VeryHigh,
212}
213
214#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
217pub enum RenderBlockingBehavior {
218 #[default]
219 Blocking,
220 InBodyParserBlocking,
221 NonBlocking,
222 NonBlockingDynamic,
223 PotentiallyBlocking,
224}
225
226#[derive(Debug, Clone, Serialize, Deserialize, Default)]
229#[serde(rename_all = "camelCase")]
230pub struct PostDataEntry {
231
232 #[serde(skip_serializing_if = "Option::is_none")]
233 pub bytes: Option<String>,
234}
235
236#[derive(Debug, Clone, Serialize, Deserialize, Default)]
239#[serde(rename_all = "camelCase")]
240pub struct Request {
241 pub url: String,
244 #[serde(skip_serializing_if = "Option::is_none")]
247 pub urlFragment: Option<String>,
248 pub method: String,
251 pub headers: Headers,
254 #[serde(skip_serializing_if = "Option::is_none")]
258 pub postData: Option<String>,
259 #[serde(skip_serializing_if = "Option::is_none")]
262 pub hasPostData: Option<bool>,
263 #[serde(skip_serializing_if = "Option::is_none")]
266 pub postDataEntries: Option<Vec<PostDataEntry>>,
267 #[serde(skip_serializing_if = "Option::is_none")]
270 pub mixedContentType: Option<crate::security::MixedContentType>,
271 pub initialPriority: ResourcePriority,
274 pub referrerPolicy: String,
277 #[serde(skip_serializing_if = "Option::is_none")]
280 pub isLinkPreload: Option<bool>,
281 #[serde(skip_serializing_if = "Option::is_none")]
285 pub trustTokenParams: Option<TrustTokenParams>,
286 #[serde(skip_serializing_if = "Option::is_none")]
290 pub isSameSite: Option<bool>,
291 #[serde(skip_serializing_if = "Option::is_none")]
294 pub isAdRelated: Option<bool>,
295}
296
297#[derive(Debug, Clone, Serialize, Deserialize, Default)]
300#[serde(rename_all = "camelCase")]
301pub struct SignedCertificateTimestamp {
302 pub status: String,
305 pub origin: String,
308 pub logDescription: String,
311 pub logId: String,
314 pub timestamp: f64,
318 pub hashAlgorithm: String,
321 pub signatureAlgorithm: String,
324 pub signatureData: String,
327}
328
329#[derive(Debug, Clone, Serialize, Deserialize, Default)]
332#[serde(rename_all = "camelCase")]
333pub struct SecurityDetails {
334 pub protocol: String,
337 pub keyExchange: String,
340 #[serde(skip_serializing_if = "Option::is_none")]
343 pub keyExchangeGroup: Option<String>,
344 pub cipher: String,
347 #[serde(skip_serializing_if = "Option::is_none")]
350 pub mac: Option<String>,
351 pub certificateId: crate::security::CertificateId,
354 pub subjectName: String,
357 pub sanList: Vec<String>,
360 pub issuer: String,
363 pub validFrom: TimeSinceEpoch,
366 pub validTo: TimeSinceEpoch,
369 pub signedCertificateTimestampList: Vec<SignedCertificateTimestamp>,
372 pub certificateTransparencyCompliance: CertificateTransparencyCompliance,
375 #[serde(skip_serializing_if = "Option::is_none")]
380 pub serverSignatureAlgorithm: Option<i64>,
381 pub encryptedClientHello: bool,
384}
385
386#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
389pub enum CertificateTransparencyCompliance {
390 #[default]
391 Unknown,
392 NotCompliant,
393 Compliant,
394}
395
396#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
399pub enum BlockedReason {
400 #[default]
401 Other,
402 Csp,
403 MixedContent,
404 Origin,
405 Inspector,
406 Integrity,
407 SubresourceFilter,
408 ContentType,
409 CoepFrameResourceNeedsCoepHeader,
410 CoopSandboxedIframeCannotNavigateToCoopPage,
411 CorpNotSameOrigin,
412 CorpNotSameOriginAfterDefaultedToSameOriginByCoep,
413 CorpNotSameOriginAfterDefaultedToSameOriginByDip,
414 CorpNotSameOriginAfterDefaultedToSameOriginByCoepAndDip,
415 CorpNotSameSite,
416 SriMessageSignatureMismatch,
417}
418
419#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
422pub enum CorsError {
423 #[default]
424 DisallowedByMode,
425 InvalidResponse,
426 WildcardOriginNotAllowed,
427 MissingAllowOriginHeader,
428 MultipleAllowOriginValues,
429 InvalidAllowOriginValue,
430 AllowOriginMismatch,
431 InvalidAllowCredentials,
432 CorsDisabledScheme,
433 PreflightInvalidStatus,
434 PreflightDisallowedRedirect,
435 PreflightWildcardOriginNotAllowed,
436 PreflightMissingAllowOriginHeader,
437 PreflightMultipleAllowOriginValues,
438 PreflightInvalidAllowOriginValue,
439 PreflightAllowOriginMismatch,
440 PreflightInvalidAllowCredentials,
441 PreflightMissingAllowExternal,
442 PreflightInvalidAllowExternal,
443 InvalidAllowMethodsPreflightResponse,
444 InvalidAllowHeadersPreflightResponse,
445 MethodDisallowedByPreflightResponse,
446 HeaderDisallowedByPreflightResponse,
447 RedirectContainsCredentials,
448 InsecureLocalNetwork,
449 InvalidLocalNetworkAccess,
450 NoCorsRedirectModeNotFollow,
451 LocalNetworkAccessPermissionDenied,
452}
453
454
455#[derive(Debug, Clone, Serialize, Deserialize, Default)]
456#[serde(rename_all = "camelCase")]
457pub struct CorsErrorStatus {
458
459 pub corsError: CorsError,
460
461 pub failedParameter: String,
462}
463
464#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
467pub enum ServiceWorkerResponseSource {
468 #[default]
469 CacheStorage,
470 HttpCache,
471 FallbackCode,
472 Network,
473}
474
475#[derive(Debug, Clone, Serialize, Deserialize, Default)]
480#[serde(rename_all = "camelCase")]
481pub struct TrustTokenParams {
482
483 pub operation: TrustTokenOperationType,
484 pub refreshPolicy: String,
488 #[serde(skip_serializing_if = "Option::is_none")]
492 pub issuers: Option<Vec<String>>,
493}
494
495
496#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
497pub enum TrustTokenOperationType {
498 #[default]
499 Issuance,
500 Redemption,
501 Signing,
502}
503
504#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
507pub enum AlternateProtocolUsage {
508 #[default]
509 AlternativeJobWonWithoutRace,
510 AlternativeJobWonRace,
511 MainJobWonRace,
512 MappingMissing,
513 Broken,
514 DnsAlpnH3JobWonWithoutRace,
515 DnsAlpnH3JobWonRace,
516 UnspecifiedReason,
517}
518
519#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
522pub enum ServiceWorkerRouterSource {
523 #[default]
524 Network,
525 Cache,
526 FetchEvent,
527 RaceNetworkAndFetchHandler,
528 RaceNetworkAndCache,
529}
530
531
532#[derive(Debug, Clone, Serialize, Deserialize, Default)]
533#[serde(rename_all = "camelCase")]
534pub struct ServiceWorkerRouterInfo {
535 #[serde(skip_serializing_if = "Option::is_none")]
539 pub ruleIdMatched: Option<u64>,
540 #[serde(skip_serializing_if = "Option::is_none")]
544 pub matchedSourceType: Option<ServiceWorkerRouterSource>,
545 #[serde(skip_serializing_if = "Option::is_none")]
548 pub actualSourceType: Option<ServiceWorkerRouterSource>,
549}
550
551#[derive(Debug, Clone, Serialize, Deserialize, Default)]
554#[serde(rename_all = "camelCase")]
555pub struct Response {
556 pub url: String,
559 pub status: i64,
562 pub statusText: String,
565 pub headers: Headers,
568 #[serde(skip_serializing_if = "Option::is_none")]
571 pub headersText: Option<String>,
572 pub mimeType: String,
575 pub charset: String,
578 #[serde(skip_serializing_if = "Option::is_none")]
581 pub requestHeaders: Option<Headers>,
582 #[serde(skip_serializing_if = "Option::is_none")]
585 pub requestHeadersText: Option<String>,
586 pub connectionReused: bool,
589 pub connectionId: f64,
592 #[serde(skip_serializing_if = "Option::is_none")]
595 pub remoteIPAddress: Option<String>,
596 #[serde(skip_serializing_if = "Option::is_none")]
599 pub remotePort: Option<i64>,
600 #[serde(skip_serializing_if = "Option::is_none")]
603 pub fromDiskCache: Option<bool>,
604 #[serde(skip_serializing_if = "Option::is_none")]
607 pub fromServiceWorker: Option<bool>,
608 #[serde(skip_serializing_if = "Option::is_none")]
611 pub fromPrefetchCache: Option<bool>,
612 #[serde(skip_serializing_if = "Option::is_none")]
615 pub fromEarlyHints: Option<bool>,
616 #[serde(skip_serializing_if = "Option::is_none")]
622 pub serviceWorkerRouterInfo: Option<ServiceWorkerRouterInfo>,
623 pub encodedDataLength: f64,
626 #[serde(skip_serializing_if = "Option::is_none")]
629 pub timing: Option<ResourceTiming>,
630 #[serde(skip_serializing_if = "Option::is_none")]
633 pub serviceWorkerResponseSource: Option<ServiceWorkerResponseSource>,
634 #[serde(skip_serializing_if = "Option::is_none")]
637 pub responseTime: Option<TimeSinceEpoch>,
638 #[serde(skip_serializing_if = "Option::is_none")]
641 pub cacheStorageCacheName: Option<String>,
642 #[serde(skip_serializing_if = "Option::is_none")]
645 pub protocol: Option<String>,
646 #[serde(skip_serializing_if = "Option::is_none")]
649 pub alternateProtocolUsage: Option<AlternateProtocolUsage>,
650 pub securityState: crate::security::SecurityState,
653 #[serde(skip_serializing_if = "Option::is_none")]
656 pub securityDetails: Option<SecurityDetails>,
657}
658
659#[derive(Debug, Clone, Serialize, Deserialize, Default)]
662#[serde(rename_all = "camelCase")]
663pub struct WebSocketRequest {
664 pub headers: Headers,
667}
668
669#[derive(Debug, Clone, Serialize, Deserialize, Default)]
672#[serde(rename_all = "camelCase")]
673pub struct WebSocketResponse {
674 pub status: i64,
677 pub statusText: String,
680 pub headers: Headers,
683 #[serde(skip_serializing_if = "Option::is_none")]
686 pub headersText: Option<String>,
687 #[serde(skip_serializing_if = "Option::is_none")]
690 pub requestHeaders: Option<Headers>,
691 #[serde(skip_serializing_if = "Option::is_none")]
694 pub requestHeadersText: Option<String>,
695}
696
697#[derive(Debug, Clone, Serialize, Deserialize, Default)]
700#[serde(rename_all = "camelCase")]
701pub struct WebSocketFrame {
702 pub opcode: f64,
705 pub mask: bool,
708 pub payloadData: String,
713}
714
715#[derive(Debug, Clone, Serialize, Deserialize, Default)]
718#[serde(rename_all = "camelCase")]
719pub struct CachedResource {
720 pub url: String,
723 #[serde(rename = "type")]
726 pub type_: ResourceType,
727 #[serde(skip_serializing_if = "Option::is_none")]
730 pub response: Option<Response>,
731 pub bodySize: f64,
734}
735
736#[derive(Debug, Clone, Serialize, Deserialize, Default)]
739#[serde(rename_all = "camelCase")]
740pub struct Initiator {
741 #[serde(rename = "type")]
744 pub type_: String,
745 #[serde(skip_serializing_if = "Option::is_none")]
749 pub stack: Option<crate::runtime::StackTrace>,
750 #[serde(skip_serializing_if = "Option::is_none")]
753 pub url: Option<String>,
754 #[serde(skip_serializing_if = "Option::is_none")]
758 pub lineNumber: Option<f64>,
759 #[serde(skip_serializing_if = "Option::is_none")]
763 pub columnNumber: Option<f64>,
764 #[serde(skip_serializing_if = "Option::is_none")]
767 pub requestId: Option<RequestId>,
768}
769
770#[derive(Debug, Clone, Serialize, Deserialize, Default)]
774#[serde(rename_all = "camelCase")]
775pub struct CookiePartitionKey {
776 pub topLevelSite: String,
780 pub hasCrossSiteAncestor: bool,
783}
784
785#[derive(Debug, Clone, Serialize, Deserialize, Default)]
788#[serde(rename_all = "camelCase")]
789pub struct Cookie {
790 pub name: String,
793 pub value: String,
796 pub domain: String,
799 pub path: String,
802 pub expires: f64,
808 pub size: u64,
811 pub httpOnly: bool,
814 pub secure: bool,
817 pub session: bool,
820 #[serde(skip_serializing_if = "Option::is_none")]
823 pub sameSite: Option<CookieSameSite>,
824 pub priority: CookiePriority,
827 pub sourceScheme: CookieSourceScheme,
830 pub sourcePort: i64,
835 #[serde(skip_serializing_if = "Option::is_none")]
838 pub partitionKey: Option<CookiePartitionKey>,
839 #[serde(skip_serializing_if = "Option::is_none")]
842 pub partitionKeyOpaque: Option<bool>,
843}
844
845#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
848pub enum SetCookieBlockedReason {
849 #[default]
850 SecureOnly,
851 SameSiteStrict,
852 SameSiteLax,
853 SameSiteUnspecifiedTreatedAsLax,
854 SameSiteNoneInsecure,
855 UserPreferences,
856 ThirdPartyPhaseout,
857 ThirdPartyBlockedInFirstPartySet,
858 SyntaxError,
859 SchemeNotSupported,
860 OverwriteSecure,
861 InvalidDomain,
862 InvalidPrefix,
863 UnknownError,
864 SchemefulSameSiteStrict,
865 SchemefulSameSiteLax,
866 SchemefulSameSiteUnspecifiedTreatedAsLax,
867 NameValuePairExceedsMaxSize,
868 DisallowedCharacter,
869 NoCookieContent,
870}
871
872#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
875pub enum CookieBlockedReason {
876 #[default]
877 SecureOnly,
878 NotOnPath,
879 DomainMismatch,
880 SameSiteStrict,
881 SameSiteLax,
882 SameSiteUnspecifiedTreatedAsLax,
883 SameSiteNoneInsecure,
884 UserPreferences,
885 ThirdPartyPhaseout,
886 ThirdPartyBlockedInFirstPartySet,
887 UnknownError,
888 SchemefulSameSiteStrict,
889 SchemefulSameSiteLax,
890 SchemefulSameSiteUnspecifiedTreatedAsLax,
891 NameValuePairExceedsMaxSize,
892 PortMismatch,
893 SchemeMismatch,
894 AnonymousContext,
895}
896
897#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
900pub enum CookieExemptionReason {
901 #[default]
902 None,
903 UserSetting,
904 TPCDMetadata,
905 TPCDDeprecationTrial,
906 TopLevelTPCDDeprecationTrial,
907 TPCDHeuristics,
908 EnterprisePolicy,
909 StorageAccess,
910 TopLevelStorageAccess,
911 Scheme,
912 SameSiteNoneCookiesInSandbox,
913}
914
915#[derive(Debug, Clone, Serialize, Deserialize, Default)]
918#[serde(rename_all = "camelCase")]
919pub struct BlockedSetCookieWithReason {
920 pub blockedReasons: Vec<SetCookieBlockedReason>,
923 pub cookieLine: String,
927 #[serde(skip_serializing_if = "Option::is_none")]
932 pub cookie: Option<Cookie>,
933}
934
935#[derive(Debug, Clone, Serialize, Deserialize, Default)]
939#[serde(rename_all = "camelCase")]
940pub struct ExemptedSetCookieWithReason {
941 pub exemptionReason: CookieExemptionReason,
944 pub cookieLine: String,
947 pub cookie: Cookie,
950}
951
952#[derive(Debug, Clone, Serialize, Deserialize, Default)]
956#[serde(rename_all = "camelCase")]
957pub struct AssociatedCookie {
958 pub cookie: Cookie,
961 pub blockedReasons: Vec<CookieBlockedReason>,
964 #[serde(skip_serializing_if = "Option::is_none")]
968 pub exemptionReason: Option<CookieExemptionReason>,
969}
970
971#[derive(Debug, Clone, Serialize, Deserialize, Default)]
974#[serde(rename_all = "camelCase")]
975pub struct CookieParam {
976 pub name: String,
979 pub value: String,
982 #[serde(skip_serializing_if = "Option::is_none")]
986 pub url: Option<String>,
987 #[serde(skip_serializing_if = "Option::is_none")]
990 pub domain: Option<String>,
991 #[serde(skip_serializing_if = "Option::is_none")]
994 pub path: Option<String>,
995 #[serde(skip_serializing_if = "Option::is_none")]
998 pub secure: Option<bool>,
999 #[serde(skip_serializing_if = "Option::is_none")]
1002 pub httpOnly: Option<bool>,
1003 #[serde(skip_serializing_if = "Option::is_none")]
1006 pub sameSite: Option<CookieSameSite>,
1007 #[serde(skip_serializing_if = "Option::is_none")]
1010 pub expires: Option<TimeSinceEpoch>,
1011 #[serde(skip_serializing_if = "Option::is_none")]
1014 pub priority: Option<CookiePriority>,
1015 #[serde(skip_serializing_if = "Option::is_none")]
1018 pub sourceScheme: Option<CookieSourceScheme>,
1019 #[serde(skip_serializing_if = "Option::is_none")]
1024 pub sourcePort: Option<i64>,
1025 #[serde(skip_serializing_if = "Option::is_none")]
1028 pub partitionKey: Option<CookiePartitionKey>,
1029}
1030
1031#[derive(Debug, Clone, Serialize, Deserialize, Default)]
1034#[serde(rename_all = "camelCase")]
1035pub struct AuthChallenge {
1036 #[serde(skip_serializing_if = "Option::is_none")]
1039 pub source: Option<String>,
1040 pub origin: String,
1043 pub scheme: String,
1046 pub realm: String,
1049}
1050
1051#[derive(Debug, Clone, Serialize, Deserialize, Default)]
1054#[serde(rename_all = "camelCase")]
1055pub struct AuthChallengeResponse {
1056 pub response: String,
1061 #[serde(skip_serializing_if = "Option::is_none")]
1065 pub username: Option<String>,
1066 #[serde(skip_serializing_if = "Option::is_none")]
1070 pub password: Option<String>,
1071}
1072
1073#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
1077pub enum InterceptionStage {
1078 #[default]
1079 Request,
1080 HeadersReceived,
1081}
1082
1083#[derive(Debug, Clone, Serialize, Deserialize, Default)]
1086#[serde(rename_all = "camelCase")]
1087pub struct RequestPattern {
1088 #[serde(skip_serializing_if = "Option::is_none")]
1092 pub urlPattern: Option<String>,
1093 #[serde(skip_serializing_if = "Option::is_none")]
1096 pub resourceType: Option<ResourceType>,
1097 #[serde(skip_serializing_if = "Option::is_none")]
1100 pub interceptionStage: Option<InterceptionStage>,
1101}
1102
1103#[derive(Debug, Clone, Serialize, Deserialize, Default)]
1107#[serde(rename_all = "camelCase")]
1108pub struct SignedExchangeSignature {
1109 pub label: String,
1112 pub signature: String,
1115 pub integrity: String,
1118 #[serde(skip_serializing_if = "Option::is_none")]
1121 pub certUrl: Option<String>,
1122 #[serde(skip_serializing_if = "Option::is_none")]
1125 pub certSha256: Option<String>,
1126 pub validityUrl: String,
1129 pub date: i64,
1132 pub expires: i64,
1135 #[serde(skip_serializing_if = "Option::is_none")]
1138 pub certificates: Option<Vec<String>>,
1139}
1140
1141#[derive(Debug, Clone, Serialize, Deserialize, Default)]
1145#[serde(rename_all = "camelCase")]
1146pub struct SignedExchangeHeader {
1147 pub requestUrl: String,
1150 pub responseCode: i64,
1153 pub responseHeaders: Headers,
1156 pub signatures: Vec<SignedExchangeSignature>,
1159 pub headerIntegrity: String,
1162}
1163
1164#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
1167pub enum SignedExchangeErrorField {
1168 #[default]
1169 SignatureSig,
1170 SignatureIntegrity,
1171 SignatureCertUrl,
1172 SignatureCertSha256,
1173 SignatureValidityUrl,
1174 SignatureTimestamps,
1175}
1176
1177#[derive(Debug, Clone, Serialize, Deserialize, Default)]
1180#[serde(rename_all = "camelCase")]
1181pub struct SignedExchangeError {
1182 pub message: String,
1185 #[serde(skip_serializing_if = "Option::is_none")]
1188 pub signatureIndex: Option<u64>,
1189 #[serde(skip_serializing_if = "Option::is_none")]
1192 pub errorField: Option<SignedExchangeErrorField>,
1193}
1194
1195#[derive(Debug, Clone, Serialize, Deserialize, Default)]
1198#[serde(rename_all = "camelCase")]
1199pub struct SignedExchangeInfo {
1200 pub outerResponse: Response,
1203 pub hasExtraInfo: bool,
1207 #[serde(skip_serializing_if = "Option::is_none")]
1210 pub header: Option<SignedExchangeHeader>,
1211 #[serde(skip_serializing_if = "Option::is_none")]
1214 pub securityDetails: Option<SecurityDetails>,
1215 #[serde(skip_serializing_if = "Option::is_none")]
1218 pub errors: Option<Vec<SignedExchangeError>>,
1219}
1220
1221#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
1224pub enum ContentEncoding {
1225 #[default]
1226 Deflate,
1227 Gzip,
1228 Br,
1229 Zstd,
1230}
1231
1232
1233#[derive(Debug, Clone, Serialize, Deserialize, Default)]
1234#[serde(rename_all = "camelCase")]
1235pub struct NetworkConditions {
1236 pub urlPattern: String,
1241 pub latency: f64,
1244 pub downloadThroughput: f64,
1247 pub uploadThroughput: f64,
1250 #[serde(skip_serializing_if = "Option::is_none")]
1253 pub connectionType: Option<ConnectionType>,
1254 #[serde(skip_serializing_if = "Option::is_none")]
1257 pub packetLoss: Option<f64>,
1258 #[serde(skip_serializing_if = "Option::is_none")]
1261 pub packetQueueLength: Option<u64>,
1262 #[serde(skip_serializing_if = "Option::is_none")]
1265 pub packetReordering: Option<bool>,
1266 #[serde(skip_serializing_if = "Option::is_none")]
1269 pub offline: Option<bool>,
1270}
1271
1272
1273#[derive(Debug, Clone, Serialize, Deserialize, Default)]
1274#[serde(rename_all = "camelCase")]
1275pub struct BlockPattern {
1276 pub urlPattern: String,
1280 pub block: bool,
1284}
1285
1286
1287#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
1288pub enum DirectSocketDnsQueryType {
1289 #[default]
1290 Ipv4,
1291 Ipv6,
1292}
1293
1294
1295#[derive(Debug, Clone, Serialize, Deserialize, Default)]
1296#[serde(rename_all = "camelCase")]
1297pub struct DirectTCPSocketOptions {
1298 pub noDelay: bool,
1301 #[serde(skip_serializing_if = "Option::is_none")]
1304 pub keepAliveDelay: Option<f64>,
1305 #[serde(skip_serializing_if = "Option::is_none")]
1308 pub sendBufferSize: Option<f64>,
1309 #[serde(skip_serializing_if = "Option::is_none")]
1312 pub receiveBufferSize: Option<f64>,
1313
1314 #[serde(skip_serializing_if = "Option::is_none")]
1315 pub dnsQueryType: Option<DirectSocketDnsQueryType>,
1316}
1317
1318
1319#[derive(Debug, Clone, Serialize, Deserialize, Default)]
1320#[serde(rename_all = "camelCase")]
1321pub struct DirectUDPSocketOptions {
1322
1323 #[serde(skip_serializing_if = "Option::is_none")]
1324 pub remoteAddr: Option<String>,
1325 #[serde(skip_serializing_if = "Option::is_none")]
1328 pub remotePort: Option<i64>,
1329
1330 #[serde(skip_serializing_if = "Option::is_none")]
1331 pub localAddr: Option<String>,
1332 #[serde(skip_serializing_if = "Option::is_none")]
1335 pub localPort: Option<i64>,
1336
1337 #[serde(skip_serializing_if = "Option::is_none")]
1338 pub dnsQueryType: Option<DirectSocketDnsQueryType>,
1339 #[serde(skip_serializing_if = "Option::is_none")]
1342 pub sendBufferSize: Option<f64>,
1343 #[serde(skip_serializing_if = "Option::is_none")]
1346 pub receiveBufferSize: Option<f64>,
1347
1348 #[serde(skip_serializing_if = "Option::is_none")]
1349 pub multicastLoopback: Option<bool>,
1350 #[serde(skip_serializing_if = "Option::is_none")]
1353 pub multicastTimeToLive: Option<i64>,
1354
1355 #[serde(skip_serializing_if = "Option::is_none")]
1356 pub multicastAllowAddressSharing: Option<bool>,
1357}
1358
1359
1360#[derive(Debug, Clone, Serialize, Deserialize, Default)]
1361#[serde(rename_all = "camelCase")]
1362pub struct DirectUDPMessage {
1363
1364 pub data: String,
1365 #[serde(skip_serializing_if = "Option::is_none")]
1368 pub remoteAddr: Option<String>,
1369 #[serde(skip_serializing_if = "Option::is_none")]
1373 pub remotePort: Option<i64>,
1374}
1375
1376
1377#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
1378pub enum LocalNetworkAccessRequestPolicy {
1379 #[default]
1380 Allow,
1381 BlockFromInsecureToMorePrivate,
1382 WarnFromInsecureToMorePrivate,
1383 PermissionBlock,
1384 PermissionWarn,
1385}
1386
1387
1388#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
1389pub enum IPAddressSpace {
1390 #[default]
1391 Loopback,
1392 Local,
1393 Public,
1394 Unknown,
1395}
1396
1397
1398#[derive(Debug, Clone, Serialize, Deserialize, Default)]
1399#[serde(rename_all = "camelCase")]
1400pub struct ConnectTiming {
1401 pub requestTime: f64,
1406}
1407
1408
1409#[derive(Debug, Clone, Serialize, Deserialize, Default)]
1410#[serde(rename_all = "camelCase")]
1411pub struct ClientSecurityState {
1412
1413 pub initiatorIsSecureContext: bool,
1414
1415 pub initiatorIPAddressSpace: IPAddressSpace,
1416
1417 pub localNetworkAccessRequestPolicy: LocalNetworkAccessRequestPolicy,
1418}
1419
1420#[derive(Debug, Clone, Serialize, Deserialize, Default)]
1426#[serde(rename_all = "camelCase")]
1427pub struct AdScriptIdentifier {
1428 pub scriptId: crate::runtime::ScriptId,
1431 pub debuggerId: crate::runtime::UniqueDebuggerId,
1434 pub name: String,
1437}
1438
1439#[derive(Debug, Clone, Serialize, Deserialize, Default)]
1443#[serde(rename_all = "camelCase")]
1444pub struct AdAncestry {
1445 pub ancestryChain: Vec<AdScriptIdentifier>,
1451 #[serde(skip_serializing_if = "Option::is_none")]
1455 pub rootScriptFilterlistRule: Option<String>,
1456}
1457
1458#[derive(Debug, Clone, Serialize, Deserialize, Default)]
1466#[serde(rename_all = "camelCase")]
1467pub struct AdProvenance {
1468 #[serde(skip_serializing_if = "Option::is_none")]
1471 pub filterlistRule: Option<String>,
1472 #[serde(skip_serializing_if = "Option::is_none")]
1475 pub adScriptAncestry: Option<AdAncestry>,
1476}
1477
1478
1479#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
1480pub enum CrossOriginOpenerPolicyValue {
1481 #[default]
1482 SameOrigin,
1483 SameOriginAllowPopups,
1484 RestrictProperties,
1485 UnsafeNone,
1486 SameOriginPlusCoep,
1487 RestrictPropertiesPlusCoep,
1488 NoopenerAllowPopups,
1489}
1490
1491
1492#[derive(Debug, Clone, Serialize, Deserialize, Default)]
1493#[serde(rename_all = "camelCase")]
1494pub struct CrossOriginOpenerPolicyStatus {
1495
1496 pub value: CrossOriginOpenerPolicyValue,
1497
1498 pub reportOnlyValue: CrossOriginOpenerPolicyValue,
1499
1500 #[serde(skip_serializing_if = "Option::is_none")]
1501 pub reportingEndpoint: Option<String>,
1502
1503 #[serde(skip_serializing_if = "Option::is_none")]
1504 pub reportOnlyReportingEndpoint: Option<String>,
1505}
1506
1507
1508#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
1509pub enum CrossOriginEmbedderPolicyValue {
1510 #[default]
1511 None,
1512 Credentialless,
1513 RequireCorp,
1514}
1515
1516
1517#[derive(Debug, Clone, Serialize, Deserialize, Default)]
1518#[serde(rename_all = "camelCase")]
1519pub struct CrossOriginEmbedderPolicyStatus {
1520
1521 pub value: CrossOriginEmbedderPolicyValue,
1522
1523 pub reportOnlyValue: CrossOriginEmbedderPolicyValue,
1524
1525 #[serde(skip_serializing_if = "Option::is_none")]
1526 pub reportingEndpoint: Option<String>,
1527
1528 #[serde(skip_serializing_if = "Option::is_none")]
1529 pub reportOnlyReportingEndpoint: Option<String>,
1530}
1531
1532
1533#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
1534pub enum ContentSecurityPolicySource {
1535 #[default]
1536 HTTP,
1537 Meta,
1538}
1539
1540
1541#[derive(Debug, Clone, Serialize, Deserialize, Default)]
1542#[serde(rename_all = "camelCase")]
1543pub struct ContentSecurityPolicyStatus {
1544
1545 pub effectiveDirectives: String,
1546
1547 pub isEnforced: bool,
1548
1549 pub source: ContentSecurityPolicySource,
1550}
1551
1552
1553#[derive(Debug, Clone, Serialize, Deserialize, Default)]
1554#[serde(rename_all = "camelCase")]
1555pub struct SecurityIsolationStatus {
1556
1557 #[serde(skip_serializing_if = "Option::is_none")]
1558 pub coop: Option<CrossOriginOpenerPolicyStatus>,
1559
1560 #[serde(skip_serializing_if = "Option::is_none")]
1561 pub coep: Option<CrossOriginEmbedderPolicyStatus>,
1562
1563 #[serde(skip_serializing_if = "Option::is_none")]
1564 pub csp: Option<Vec<ContentSecurityPolicyStatus>>,
1565}
1566
1567#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
1570pub enum ReportStatus {
1571 #[default]
1572 Queued,
1573 Pending,
1574 MarkedForRemoval,
1575 Success,
1576}
1577
1578
1579pub type ReportId = String;
1580
1581#[derive(Debug, Clone, Serialize, Deserialize, Default)]
1584#[serde(rename_all = "camelCase")]
1585pub struct ReportingApiReport {
1586
1587 pub id: ReportId,
1588 pub initiatorUrl: String,
1591 pub destination: String,
1594 #[serde(rename = "type")]
1597 pub type_: String,
1598 pub timestamp: crate::network::TimeSinceEpoch,
1601 pub depth: i64,
1604 pub completedAttempts: i64,
1607
1608 pub body: serde_json::Map<String, JsonValue>,
1609
1610 pub status: ReportStatus,
1611}
1612
1613
1614#[derive(Debug, Clone, Serialize, Deserialize, Default)]
1615#[serde(rename_all = "camelCase")]
1616pub struct ReportingApiEndpoint {
1617 pub url: String,
1620 pub groupName: String,
1623}
1624
1625#[derive(Debug, Clone, Serialize, Deserialize, Default)]
1628#[serde(rename_all = "camelCase")]
1629pub struct DeviceBoundSessionKey {
1630 pub site: String,
1633 pub id: String,
1636}
1637
1638#[derive(Debug, Clone, Serialize, Deserialize, Default)]
1641#[serde(rename_all = "camelCase")]
1642pub struct DeviceBoundSessionWithUsage {
1643 pub sessionKey: DeviceBoundSessionKey,
1646 pub usage: String,
1649}
1650
1651#[derive(Debug, Clone, Serialize, Deserialize, Default)]
1654#[serde(rename_all = "camelCase")]
1655pub struct DeviceBoundSessionCookieCraving {
1656 pub name: String,
1659 pub domain: String,
1662 pub path: String,
1665 pub secure: bool,
1668 pub httpOnly: bool,
1671 #[serde(skip_serializing_if = "Option::is_none")]
1674 pub sameSite: Option<CookieSameSite>,
1675}
1676
1677#[derive(Debug, Clone, Serialize, Deserialize, Default)]
1680#[serde(rename_all = "camelCase")]
1681pub struct DeviceBoundSessionUrlRule {
1682 pub ruleType: String,
1685 pub hostPattern: String,
1688 pub pathPrefix: String,
1691}
1692
1693#[derive(Debug, Clone, Serialize, Deserialize, Default)]
1696#[serde(rename_all = "camelCase")]
1697pub struct DeviceBoundSessionInclusionRules {
1698 pub origin: String,
1701 pub includeSite: bool,
1706 pub urlRules: Vec<DeviceBoundSessionUrlRule>,
1709}
1710
1711#[derive(Debug, Clone, Serialize, Deserialize, Default)]
1714#[serde(rename_all = "camelCase")]
1715pub struct DeviceBoundSession {
1716 pub key: DeviceBoundSessionKey,
1719 pub refreshUrl: String,
1722 pub inclusionRules: DeviceBoundSessionInclusionRules,
1725 pub cookieCravings: Vec<DeviceBoundSessionCookieCraving>,
1728 pub expiryDate: crate::network::TimeSinceEpoch,
1731 #[serde(skip_serializing_if = "Option::is_none")]
1734 pub cachedChallenge: Option<String>,
1735 pub allowedRefreshInitiators: Vec<String>,
1738}
1739
1740pub type DeviceBoundSessionEventId = String;
1743
1744#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
1747pub enum DeviceBoundSessionFetchResult {
1748 #[default]
1749 Success,
1750 KeyError,
1751 SigningError,
1752 ServerRequestedTermination,
1753 InvalidSessionId,
1754 InvalidChallenge,
1755 TooManyChallenges,
1756 InvalidFetcherUrl,
1757 InvalidRefreshUrl,
1758 TransientHttpError,
1759 ScopeOriginSameSiteMismatch,
1760 RefreshUrlSameSiteMismatch,
1761 MismatchedSessionId,
1762 MissingScope,
1763 NoCredentials,
1764 SubdomainRegistrationWellKnownUnavailable,
1765 SubdomainRegistrationUnauthorized,
1766 SubdomainRegistrationWellKnownMalformed,
1767 SessionProviderWellKnownUnavailable,
1768 RelyingPartyWellKnownUnavailable,
1769 FederatedKeyThumbprintMismatch,
1770 InvalidFederatedSessionUrl,
1771 InvalidFederatedKey,
1772 TooManyRelyingOriginLabels,
1773 BoundCookieSetForbidden,
1774 NetError,
1775 ProxyError,
1776 EmptySessionConfig,
1777 InvalidCredentialsConfig,
1778 InvalidCredentialsType,
1779 InvalidCredentialsEmptyName,
1780 InvalidCredentialsCookie,
1781 PersistentHttpError,
1782 RegistrationAttemptedChallenge,
1783 InvalidScopeOrigin,
1784 ScopeOriginContainsPath,
1785 RefreshInitiatorNotString,
1786 RefreshInitiatorInvalidHostPattern,
1787 InvalidScopeSpecification,
1788 MissingScopeSpecificationType,
1789 EmptyScopeSpecificationDomain,
1790 EmptyScopeSpecificationPath,
1791 InvalidScopeSpecificationType,
1792 InvalidScopeIncludeSite,
1793 MissingScopeIncludeSite,
1794 FederatedNotAuthorizedByProvider,
1795 FederatedNotAuthorizedByRelyingParty,
1796 SessionProviderWellKnownMalformed,
1797 SessionProviderWellKnownHasProviderOrigin,
1798 RelyingPartyWellKnownMalformed,
1799 RelyingPartyWellKnownHasRelyingOrigins,
1800 InvalidFederatedSessionProviderSessionMissing,
1801 InvalidFederatedSessionWrongProviderOrigin,
1802 InvalidCredentialsCookieCreationTime,
1803 InvalidCredentialsCookieName,
1804 InvalidCredentialsCookieParsing,
1805 InvalidCredentialsCookieUnpermittedAttribute,
1806 InvalidCredentialsCookieInvalidDomain,
1807 InvalidCredentialsCookiePrefix,
1808 InvalidScopeRulePath,
1809 InvalidScopeRuleHostPattern,
1810 ScopeRuleOriginScopedHostPatternMismatch,
1811 ScopeRuleSiteScopedHostPatternMismatch,
1812 SigningQuotaExceeded,
1813 InvalidConfigJson,
1814 InvalidFederatedSessionProviderFailedToRestoreKey,
1815 FailedToUnwrapKey,
1816 SessionDeletedDuringRefresh,
1817}
1818
1819#[derive(Debug, Clone, Serialize, Deserialize, Default)]
1822#[serde(rename_all = "camelCase")]
1823pub struct DeviceBoundSessionFailedRequest {
1824 pub requestUrl: String,
1827 #[serde(skip_serializing_if = "Option::is_none")]
1830 pub netError: Option<String>,
1831 #[serde(skip_serializing_if = "Option::is_none")]
1835 pub responseError: Option<i64>,
1836 #[serde(skip_serializing_if = "Option::is_none")]
1840 pub responseErrorBody: Option<String>,
1841}
1842
1843#[derive(Debug, Clone, Serialize, Deserialize, Default)]
1846#[serde(rename_all = "camelCase")]
1847pub struct CreationEventDetails {
1848 pub fetchResult: DeviceBoundSessionFetchResult,
1851 #[serde(skip_serializing_if = "Option::is_none")]
1855 pub newSession: Option<DeviceBoundSession>,
1856 #[serde(skip_serializing_if = "Option::is_none")]
1860 pub failedRequest: Option<DeviceBoundSessionFailedRequest>,
1861}
1862
1863#[derive(Debug, Clone, Serialize, Deserialize, Default)]
1866#[serde(rename_all = "camelCase")]
1867pub struct RefreshEventDetails {
1868 pub refreshResult: String,
1871 #[serde(skip_serializing_if = "Option::is_none")]
1874 pub fetchResult: Option<DeviceBoundSessionFetchResult>,
1875 #[serde(skip_serializing_if = "Option::is_none")]
1879 pub newSession: Option<DeviceBoundSession>,
1880 pub wasFullyProactiveRefresh: bool,
1883 #[serde(skip_serializing_if = "Option::is_none")]
1887 pub failedRequest: Option<DeviceBoundSessionFailedRequest>,
1888}
1889
1890#[derive(Debug, Clone, Serialize, Deserialize, Default)]
1893#[serde(rename_all = "camelCase")]
1894pub struct TerminationEventDetails {
1895 pub deletionReason: String,
1898}
1899
1900#[derive(Debug, Clone, Serialize, Deserialize, Default)]
1903#[serde(rename_all = "camelCase")]
1904pub struct ChallengeEventDetails {
1905 pub challengeResult: String,
1908 pub challenge: String,
1911}
1912
1913#[derive(Debug, Clone, Serialize, Deserialize, Default)]
1916#[serde(rename_all = "camelCase")]
1917pub struct LoadNetworkResourcePageResult {
1918
1919 pub success: bool,
1920 #[serde(skip_serializing_if = "Option::is_none")]
1923 pub netError: Option<f64>,
1924
1925 #[serde(skip_serializing_if = "Option::is_none")]
1926 pub netErrorName: Option<String>,
1927
1928 #[serde(skip_serializing_if = "Option::is_none")]
1929 pub httpStatusCode: Option<f64>,
1930 #[serde(skip_serializing_if = "Option::is_none")]
1933 pub stream: Option<crate::io::StreamHandle>,
1934 #[serde(skip_serializing_if = "Option::is_none")]
1937 pub headers: Option<crate::network::Headers>,
1938}
1939
1940#[derive(Debug, Clone, Serialize, Deserialize, Default)]
1944#[serde(rename_all = "camelCase")]
1945pub struct LoadNetworkResourceOptions {
1946
1947 pub disableCache: bool,
1948
1949 pub includeCredentials: bool,
1950}
1951
1952#[derive(Debug, Clone, Serialize, Deserialize, Default)]
1955#[serde(rename_all = "camelCase")]
1956pub struct SetAcceptedEncodingsParams {
1957 pub encodings: Vec<ContentEncoding>,
1960}
1961
1962impl SetAcceptedEncodingsParams { pub const METHOD: &'static str = "Network.setAcceptedEncodings"; }
1963
1964impl crate::CdpCommand for SetAcceptedEncodingsParams {
1965 const METHOD: &'static str = "Network.setAcceptedEncodings";
1966 type Response = crate::EmptyReturns;
1967}
1968
1969#[derive(Debug, Clone, Serialize, Deserialize, Default)]
1970pub struct ClearAcceptedEncodingsOverrideParams {}
1971
1972impl ClearAcceptedEncodingsOverrideParams { pub const METHOD: &'static str = "Network.clearAcceptedEncodingsOverride"; }
1973
1974impl crate::CdpCommand for ClearAcceptedEncodingsOverrideParams {
1975 const METHOD: &'static str = "Network.clearAcceptedEncodingsOverride";
1976 type Response = crate::EmptyReturns;
1977}
1978
1979#[derive(Debug, Clone, Serialize, Deserialize, Default)]
1982#[serde(rename_all = "camelCase")]
1983pub struct CanClearBrowserCacheReturns {
1984 pub result: bool,
1987}
1988
1989#[derive(Debug, Clone, Serialize, Deserialize, Default)]
1990pub struct CanClearBrowserCacheParams {}
1991
1992impl CanClearBrowserCacheParams { pub const METHOD: &'static str = "Network.canClearBrowserCache"; }
1993
1994impl crate::CdpCommand for CanClearBrowserCacheParams {
1995 const METHOD: &'static str = "Network.canClearBrowserCache";
1996 type Response = CanClearBrowserCacheReturns;
1997}
1998
1999#[derive(Debug, Clone, Serialize, Deserialize, Default)]
2002#[serde(rename_all = "camelCase")]
2003pub struct CanClearBrowserCookiesReturns {
2004 pub result: bool,
2007}
2008
2009#[derive(Debug, Clone, Serialize, Deserialize, Default)]
2010pub struct CanClearBrowserCookiesParams {}
2011
2012impl CanClearBrowserCookiesParams { pub const METHOD: &'static str = "Network.canClearBrowserCookies"; }
2013
2014impl crate::CdpCommand for CanClearBrowserCookiesParams {
2015 const METHOD: &'static str = "Network.canClearBrowserCookies";
2016 type Response = CanClearBrowserCookiesReturns;
2017}
2018
2019#[derive(Debug, Clone, Serialize, Deserialize, Default)]
2022#[serde(rename_all = "camelCase")]
2023pub struct CanEmulateNetworkConditionsReturns {
2024 pub result: bool,
2027}
2028
2029#[derive(Debug, Clone, Serialize, Deserialize, Default)]
2030pub struct CanEmulateNetworkConditionsParams {}
2031
2032impl CanEmulateNetworkConditionsParams { pub const METHOD: &'static str = "Network.canEmulateNetworkConditions"; }
2033
2034impl crate::CdpCommand for CanEmulateNetworkConditionsParams {
2035 const METHOD: &'static str = "Network.canEmulateNetworkConditions";
2036 type Response = CanEmulateNetworkConditionsReturns;
2037}
2038
2039#[derive(Debug, Clone, Serialize, Deserialize, Default)]
2040pub struct ClearBrowserCacheParams {}
2041
2042impl ClearBrowserCacheParams { pub const METHOD: &'static str = "Network.clearBrowserCache"; }
2043
2044impl crate::CdpCommand for ClearBrowserCacheParams {
2045 const METHOD: &'static str = "Network.clearBrowserCache";
2046 type Response = crate::EmptyReturns;
2047}
2048
2049#[derive(Debug, Clone, Serialize, Deserialize, Default)]
2050pub struct ClearBrowserCookiesParams {}
2051
2052impl ClearBrowserCookiesParams { pub const METHOD: &'static str = "Network.clearBrowserCookies"; }
2053
2054impl crate::CdpCommand for ClearBrowserCookiesParams {
2055 const METHOD: &'static str = "Network.clearBrowserCookies";
2056 type Response = crate::EmptyReturns;
2057}
2058
2059#[derive(Debug, Clone, Serialize, Deserialize, Default)]
2066#[serde(rename_all = "camelCase")]
2067pub struct ContinueInterceptedRequestParams {
2068
2069 pub interceptionId: InterceptionId,
2070 #[serde(skip_serializing_if = "Option::is_none")]
2075 pub errorReason: Option<ErrorReason>,
2076 #[serde(skip_serializing_if = "Option::is_none")]
2080 pub rawResponse: Option<String>,
2081 #[serde(skip_serializing_if = "Option::is_none")]
2085 pub url: Option<String>,
2086 #[serde(skip_serializing_if = "Option::is_none")]
2090 pub method: Option<String>,
2091 #[serde(skip_serializing_if = "Option::is_none")]
2094 pub postData: Option<String>,
2095 #[serde(skip_serializing_if = "Option::is_none")]
2099 pub headers: Option<Headers>,
2100 #[serde(skip_serializing_if = "Option::is_none")]
2103 pub authChallengeResponse: Option<AuthChallengeResponse>,
2104}
2105
2106impl ContinueInterceptedRequestParams { pub const METHOD: &'static str = "Network.continueInterceptedRequest"; }
2107
2108impl crate::CdpCommand for ContinueInterceptedRequestParams {
2109 const METHOD: &'static str = "Network.continueInterceptedRequest";
2110 type Response = crate::EmptyReturns;
2111}
2112
2113#[derive(Debug, Clone, Serialize, Deserialize, Default)]
2116#[serde(rename_all = "camelCase")]
2117pub struct DeleteCookiesParams {
2118 pub name: String,
2121 #[serde(skip_serializing_if = "Option::is_none")]
2125 pub url: Option<String>,
2126 #[serde(skip_serializing_if = "Option::is_none")]
2129 pub domain: Option<String>,
2130 #[serde(skip_serializing_if = "Option::is_none")]
2133 pub path: Option<String>,
2134 #[serde(skip_serializing_if = "Option::is_none")]
2138 pub partitionKey: Option<CookiePartitionKey>,
2139}
2140
2141impl DeleteCookiesParams { pub const METHOD: &'static str = "Network.deleteCookies"; }
2142
2143impl crate::CdpCommand for DeleteCookiesParams {
2144 const METHOD: &'static str = "Network.deleteCookies";
2145 type Response = crate::EmptyReturns;
2146}
2147
2148#[derive(Debug, Clone, Serialize, Deserialize, Default)]
2149pub struct DisableParams {}
2150
2151impl DisableParams { pub const METHOD: &'static str = "Network.disable"; }
2152
2153impl crate::CdpCommand for DisableParams {
2154 const METHOD: &'static str = "Network.disable";
2155 type Response = crate::EmptyReturns;
2156}
2157
2158#[derive(Debug, Clone, Serialize, Deserialize, Default)]
2162#[serde(rename_all = "camelCase")]
2163pub struct EmulateNetworkConditionsParams {
2164 pub offline: bool,
2167 pub latency: f64,
2170 pub downloadThroughput: f64,
2173 pub uploadThroughput: f64,
2176 #[serde(skip_serializing_if = "Option::is_none")]
2179 pub connectionType: Option<ConnectionType>,
2180 #[serde(skip_serializing_if = "Option::is_none")]
2183 pub packetLoss: Option<f64>,
2184 #[serde(skip_serializing_if = "Option::is_none")]
2187 pub packetQueueLength: Option<u64>,
2188 #[serde(skip_serializing_if = "Option::is_none")]
2191 pub packetReordering: Option<bool>,
2192}
2193
2194impl EmulateNetworkConditionsParams { pub const METHOD: &'static str = "Network.emulateNetworkConditions"; }
2195
2196impl crate::CdpCommand for EmulateNetworkConditionsParams {
2197 const METHOD: &'static str = "Network.emulateNetworkConditions";
2198 type Response = crate::EmptyReturns;
2199}
2200
2201#[derive(Debug, Clone, Serialize, Deserialize, Default)]
2206#[serde(rename_all = "camelCase")]
2207pub struct EmulateNetworkConditionsByRuleParams {
2208 #[serde(skip_serializing_if = "Option::is_none")]
2212 pub offline: Option<bool>,
2213 #[serde(skip_serializing_if = "Option::is_none")]
2216 pub emulateOfflineServiceWorker: Option<bool>,
2217 pub matchedNetworkConditions: Vec<NetworkConditions>,
2222}
2223
2224#[derive(Debug, Clone, Serialize, Deserialize, Default)]
2229#[serde(rename_all = "camelCase")]
2230pub struct EmulateNetworkConditionsByRuleReturns {
2231 pub ruleIds: Vec<String>,
2235}
2236
2237impl EmulateNetworkConditionsByRuleParams { pub const METHOD: &'static str = "Network.emulateNetworkConditionsByRule"; }
2238
2239impl crate::CdpCommand for EmulateNetworkConditionsByRuleParams {
2240 const METHOD: &'static str = "Network.emulateNetworkConditionsByRule";
2241 type Response = EmulateNetworkConditionsByRuleReturns;
2242}
2243
2244#[derive(Debug, Clone, Serialize, Deserialize, Default)]
2247#[serde(rename_all = "camelCase")]
2248pub struct OverrideNetworkStateParams {
2249 pub offline: bool,
2252 pub latency: f64,
2255 pub downloadThroughput: f64,
2258 pub uploadThroughput: f64,
2261 #[serde(skip_serializing_if = "Option::is_none")]
2264 pub connectionType: Option<ConnectionType>,
2265}
2266
2267impl OverrideNetworkStateParams { pub const METHOD: &'static str = "Network.overrideNetworkState"; }
2268
2269impl crate::CdpCommand for OverrideNetworkStateParams {
2270 const METHOD: &'static str = "Network.overrideNetworkState";
2271 type Response = crate::EmptyReturns;
2272}
2273
2274#[derive(Debug, Clone, Serialize, Deserialize, Default)]
2277#[serde(rename_all = "camelCase")]
2278pub struct EnableParams {
2279 #[serde(skip_serializing_if = "Option::is_none")]
2284 pub maxTotalBufferSize: Option<u64>,
2285 #[serde(skip_serializing_if = "Option::is_none")]
2288 pub maxResourceBufferSize: Option<u64>,
2289 #[serde(skip_serializing_if = "Option::is_none")]
2292 pub maxPostDataSize: Option<u64>,
2293 #[serde(skip_serializing_if = "Option::is_none")]
2296 pub reportDirectSocketTraffic: Option<bool>,
2297 #[serde(skip_serializing_if = "Option::is_none")]
2304 pub enableDurableMessages: Option<bool>,
2305}
2306
2307impl EnableParams { pub const METHOD: &'static str = "Network.enable"; }
2308
2309impl crate::CdpCommand for EnableParams {
2310 const METHOD: &'static str = "Network.enable";
2311 type Response = crate::EmptyReturns;
2312}
2313
2314#[derive(Debug, Clone, Serialize, Deserialize, Default)]
2319#[serde(rename_all = "camelCase")]
2320pub struct ConfigureDurableMessagesParams {
2321 #[serde(skip_serializing_if = "Option::is_none")]
2324 pub maxTotalBufferSize: Option<u64>,
2325 #[serde(skip_serializing_if = "Option::is_none")]
2328 pub maxResourceBufferSize: Option<u64>,
2329}
2330
2331impl ConfigureDurableMessagesParams { pub const METHOD: &'static str = "Network.configureDurableMessages"; }
2332
2333impl crate::CdpCommand for ConfigureDurableMessagesParams {
2334 const METHOD: &'static str = "Network.configureDurableMessages";
2335 type Response = crate::EmptyReturns;
2336}
2337
2338#[derive(Debug, Clone, Serialize, Deserialize, Default)]
2343#[serde(rename_all = "camelCase")]
2344pub struct GetAllCookiesReturns {
2345 pub cookies: Vec<Cookie>,
2348}
2349
2350#[derive(Debug, Clone, Serialize, Deserialize, Default)]
2351pub struct GetAllCookiesParams {}
2352
2353impl GetAllCookiesParams { pub const METHOD: &'static str = "Network.getAllCookies"; }
2354
2355impl crate::CdpCommand for GetAllCookiesParams {
2356 const METHOD: &'static str = "Network.getAllCookies";
2357 type Response = GetAllCookiesReturns;
2358}
2359
2360#[derive(Debug, Clone, Serialize, Deserialize, Default)]
2363#[serde(rename_all = "camelCase")]
2364pub struct GetCertificateParams {
2365 pub origin: String,
2368}
2369
2370#[derive(Debug, Clone, Serialize, Deserialize, Default)]
2373#[serde(rename_all = "camelCase")]
2374pub struct GetCertificateReturns {
2375
2376 pub tableNames: Vec<String>,
2377}
2378
2379impl GetCertificateParams { pub const METHOD: &'static str = "Network.getCertificate"; }
2380
2381impl crate::CdpCommand for GetCertificateParams {
2382 const METHOD: &'static str = "Network.getCertificate";
2383 type Response = GetCertificateReturns;
2384}
2385
2386#[derive(Debug, Clone, Serialize, Deserialize, Default)]
2390#[serde(rename_all = "camelCase")]
2391pub struct GetCookiesParams {
2392 #[serde(skip_serializing_if = "Option::is_none")]
2397 pub urls: Option<Vec<String>>,
2398}
2399
2400#[derive(Debug, Clone, Serialize, Deserialize, Default)]
2404#[serde(rename_all = "camelCase")]
2405pub struct GetCookiesReturns {
2406 pub cookies: Vec<Cookie>,
2409}
2410
2411impl GetCookiesParams { pub const METHOD: &'static str = "Network.getCookies"; }
2412
2413impl crate::CdpCommand for GetCookiesParams {
2414 const METHOD: &'static str = "Network.getCookies";
2415 type Response = GetCookiesReturns;
2416}
2417
2418#[derive(Debug, Clone, Serialize, Deserialize, Default)]
2421#[serde(rename_all = "camelCase")]
2422pub struct GetResponseBodyParams {
2423 pub requestId: RequestId,
2426}
2427
2428#[derive(Debug, Clone, Serialize, Deserialize, Default)]
2431#[serde(rename_all = "camelCase")]
2432pub struct GetResponseBodyReturns {
2433 pub body: String,
2436 pub base64Encoded: bool,
2439}
2440
2441impl GetResponseBodyParams { pub const METHOD: &'static str = "Network.getResponseBody"; }
2442
2443impl crate::CdpCommand for GetResponseBodyParams {
2444 const METHOD: &'static str = "Network.getResponseBody";
2445 type Response = GetResponseBodyReturns;
2446}
2447
2448#[derive(Debug, Clone, Serialize, Deserialize, Default)]
2451#[serde(rename_all = "camelCase")]
2452pub struct GetRequestPostDataParams {
2453 pub requestId: RequestId,
2456}
2457
2458#[derive(Debug, Clone, Serialize, Deserialize, Default)]
2461#[serde(rename_all = "camelCase")]
2462pub struct GetRequestPostDataReturns {
2463 pub postData: String,
2466 pub base64Encoded: bool,
2469}
2470
2471impl GetRequestPostDataParams { pub const METHOD: &'static str = "Network.getRequestPostData"; }
2472
2473impl crate::CdpCommand for GetRequestPostDataParams {
2474 const METHOD: &'static str = "Network.getRequestPostData";
2475 type Response = GetRequestPostDataReturns;
2476}
2477
2478#[derive(Debug, Clone, Serialize, Deserialize, Default)]
2481#[serde(rename_all = "camelCase")]
2482pub struct GetResponseBodyForInterceptionParams {
2483 pub interceptionId: InterceptionId,
2486}
2487
2488#[derive(Debug, Clone, Serialize, Deserialize, Default)]
2491#[serde(rename_all = "camelCase")]
2492pub struct GetResponseBodyForInterceptionReturns {
2493 pub body: String,
2496 pub base64Encoded: bool,
2499}
2500
2501impl GetResponseBodyForInterceptionParams { pub const METHOD: &'static str = "Network.getResponseBodyForInterception"; }
2502
2503impl crate::CdpCommand for GetResponseBodyForInterceptionParams {
2504 const METHOD: &'static str = "Network.getResponseBodyForInterception";
2505 type Response = GetResponseBodyForInterceptionReturns;
2506}
2507
2508#[derive(Debug, Clone, Serialize, Deserialize, Default)]
2514#[serde(rename_all = "camelCase")]
2515pub struct TakeResponseBodyForInterceptionAsStreamParams {
2516
2517 pub interceptionId: InterceptionId,
2518}
2519
2520#[derive(Debug, Clone, Serialize, Deserialize, Default)]
2526#[serde(rename_all = "camelCase")]
2527pub struct TakeResponseBodyForInterceptionAsStreamReturns {
2528
2529 pub stream: crate::io::StreamHandle,
2530}
2531
2532impl TakeResponseBodyForInterceptionAsStreamParams { pub const METHOD: &'static str = "Network.takeResponseBodyForInterceptionAsStream"; }
2533
2534impl crate::CdpCommand for TakeResponseBodyForInterceptionAsStreamParams {
2535 const METHOD: &'static str = "Network.takeResponseBodyForInterceptionAsStream";
2536 type Response = TakeResponseBodyForInterceptionAsStreamReturns;
2537}
2538
2539#[derive(Debug, Clone, Serialize, Deserialize, Default)]
2544#[serde(rename_all = "camelCase")]
2545pub struct ReplayXHRParams {
2546 pub requestId: RequestId,
2549}
2550
2551impl ReplayXHRParams { pub const METHOD: &'static str = "Network.replayXHR"; }
2552
2553impl crate::CdpCommand for ReplayXHRParams {
2554 const METHOD: &'static str = "Network.replayXHR";
2555 type Response = crate::EmptyReturns;
2556}
2557
2558#[derive(Debug, Clone, Serialize, Deserialize, Default)]
2561#[serde(rename_all = "camelCase")]
2562pub struct SearchInResponseBodyParams {
2563 pub requestId: RequestId,
2566 pub query: String,
2569 #[serde(skip_serializing_if = "Option::is_none")]
2572 pub caseSensitive: Option<bool>,
2573 #[serde(skip_serializing_if = "Option::is_none")]
2576 pub isRegex: Option<bool>,
2577}
2578
2579#[derive(Debug, Clone, Serialize, Deserialize, Default)]
2582#[serde(rename_all = "camelCase")]
2583pub struct SearchInResponseBodyReturns {
2584 pub result: Vec<crate::debugger::SearchMatch>,
2587}
2588
2589impl SearchInResponseBodyParams { pub const METHOD: &'static str = "Network.searchInResponseBody"; }
2590
2591impl crate::CdpCommand for SearchInResponseBodyParams {
2592 const METHOD: &'static str = "Network.searchInResponseBody";
2593 type Response = SearchInResponseBodyReturns;
2594}
2595
2596#[derive(Debug, Clone, Serialize, Deserialize, Default)]
2599#[serde(rename_all = "camelCase")]
2600pub struct SetBlockedURLsParams {
2601 #[serde(skip_serializing_if = "Option::is_none")]
2605 pub urlPatterns: Option<Vec<BlockPattern>>,
2606 #[serde(skip_serializing_if = "Option::is_none")]
2609 pub urls: Option<Vec<String>>,
2610}
2611
2612impl SetBlockedURLsParams { pub const METHOD: &'static str = "Network.setBlockedURLs"; }
2613
2614impl crate::CdpCommand for SetBlockedURLsParams {
2615 const METHOD: &'static str = "Network.setBlockedURLs";
2616 type Response = crate::EmptyReturns;
2617}
2618
2619#[derive(Debug, Clone, Serialize, Deserialize, Default)]
2622#[serde(rename_all = "camelCase")]
2623pub struct SetBypassServiceWorkerParams {
2624 pub bypass: bool,
2627}
2628
2629impl SetBypassServiceWorkerParams { pub const METHOD: &'static str = "Network.setBypassServiceWorker"; }
2630
2631impl crate::CdpCommand for SetBypassServiceWorkerParams {
2632 const METHOD: &'static str = "Network.setBypassServiceWorker";
2633 type Response = crate::EmptyReturns;
2634}
2635
2636#[derive(Debug, Clone, Serialize, Deserialize, Default)]
2639#[serde(rename_all = "camelCase")]
2640pub struct SetCacheDisabledParams {
2641 pub cacheDisabled: bool,
2644}
2645
2646impl SetCacheDisabledParams { pub const METHOD: &'static str = "Network.setCacheDisabled"; }
2647
2648impl crate::CdpCommand for SetCacheDisabledParams {
2649 const METHOD: &'static str = "Network.setCacheDisabled";
2650 type Response = crate::EmptyReturns;
2651}
2652
2653#[derive(Debug, Clone, Serialize, Deserialize, Default)]
2656#[serde(rename_all = "camelCase")]
2657pub struct SetCookieParams {
2658 pub name: String,
2661 pub value: String,
2664 #[serde(skip_serializing_if = "Option::is_none")]
2668 pub url: Option<String>,
2669 #[serde(skip_serializing_if = "Option::is_none")]
2672 pub domain: Option<String>,
2673 #[serde(skip_serializing_if = "Option::is_none")]
2676 pub path: Option<String>,
2677 #[serde(skip_serializing_if = "Option::is_none")]
2680 pub secure: Option<bool>,
2681 #[serde(skip_serializing_if = "Option::is_none")]
2684 pub httpOnly: Option<bool>,
2685 #[serde(skip_serializing_if = "Option::is_none")]
2688 pub sameSite: Option<CookieSameSite>,
2689 #[serde(skip_serializing_if = "Option::is_none")]
2692 pub expires: Option<TimeSinceEpoch>,
2693 #[serde(skip_serializing_if = "Option::is_none")]
2696 pub priority: Option<CookiePriority>,
2697 #[serde(skip_serializing_if = "Option::is_none")]
2700 pub sourceScheme: Option<CookieSourceScheme>,
2701 #[serde(skip_serializing_if = "Option::is_none")]
2706 pub sourcePort: Option<i64>,
2707 #[serde(skip_serializing_if = "Option::is_none")]
2710 pub partitionKey: Option<CookiePartitionKey>,
2711}
2712
2713#[derive(Debug, Clone, Serialize, Deserialize, Default)]
2716#[serde(rename_all = "camelCase")]
2717pub struct SetCookieReturns {
2718 pub success: bool,
2721}
2722
2723impl SetCookieParams { pub const METHOD: &'static str = "Network.setCookie"; }
2724
2725impl crate::CdpCommand for SetCookieParams {
2726 const METHOD: &'static str = "Network.setCookie";
2727 type Response = SetCookieReturns;
2728}
2729
2730#[derive(Debug, Clone, Serialize, Deserialize, Default)]
2733#[serde(rename_all = "camelCase")]
2734pub struct SetCookiesParams {
2735 pub cookies: Vec<CookieParam>,
2738}
2739
2740impl SetCookiesParams { pub const METHOD: &'static str = "Network.setCookies"; }
2741
2742impl crate::CdpCommand for SetCookiesParams {
2743 const METHOD: &'static str = "Network.setCookies";
2744 type Response = crate::EmptyReturns;
2745}
2746
2747#[derive(Debug, Clone, Serialize, Deserialize, Default)]
2750#[serde(rename_all = "camelCase")]
2751pub struct SetExtraHTTPHeadersParams {
2752 pub headers: Headers,
2755}
2756
2757impl SetExtraHTTPHeadersParams { pub const METHOD: &'static str = "Network.setExtraHTTPHeaders"; }
2758
2759impl crate::CdpCommand for SetExtraHTTPHeadersParams {
2760 const METHOD: &'static str = "Network.setExtraHTTPHeaders";
2761 type Response = crate::EmptyReturns;
2762}
2763
2764#[derive(Debug, Clone, Serialize, Deserialize, Default)]
2767#[serde(rename_all = "camelCase")]
2768pub struct SetAttachDebugStackParams {
2769 pub enabled: bool,
2772}
2773
2774impl SetAttachDebugStackParams { pub const METHOD: &'static str = "Network.setAttachDebugStack"; }
2775
2776impl crate::CdpCommand for SetAttachDebugStackParams {
2777 const METHOD: &'static str = "Network.setAttachDebugStack";
2778 type Response = crate::EmptyReturns;
2779}
2780
2781#[derive(Debug, Clone, Serialize, Deserialize, Default)]
2785#[serde(rename_all = "camelCase")]
2786pub struct SetRequestInterceptionParams {
2787 pub patterns: Vec<RequestPattern>,
2791}
2792
2793impl SetRequestInterceptionParams { pub const METHOD: &'static str = "Network.setRequestInterception"; }
2794
2795impl crate::CdpCommand for SetRequestInterceptionParams {
2796 const METHOD: &'static str = "Network.setRequestInterception";
2797 type Response = crate::EmptyReturns;
2798}
2799
2800#[derive(Debug, Clone, Serialize, Deserialize, Default)]
2803#[serde(rename_all = "camelCase")]
2804pub struct SetUserAgentOverrideParams {
2805 pub userAgent: String,
2808 #[serde(skip_serializing_if = "Option::is_none")]
2811 pub acceptLanguage: Option<String>,
2812 #[serde(skip_serializing_if = "Option::is_none")]
2815 pub platform: Option<String>,
2816 #[serde(skip_serializing_if = "Option::is_none")]
2819 pub userAgentMetadata: Option<crate::emulation::UserAgentMetadata>,
2820}
2821
2822impl SetUserAgentOverrideParams { pub const METHOD: &'static str = "Network.setUserAgentOverride"; }
2823
2824impl crate::CdpCommand for SetUserAgentOverrideParams {
2825 const METHOD: &'static str = "Network.setUserAgentOverride";
2826 type Response = crate::EmptyReturns;
2827}
2828
2829#[derive(Debug, Clone, Serialize, Deserialize, Default)]
2833#[serde(rename_all = "camelCase")]
2834pub struct StreamResourceContentParams {
2835 pub requestId: RequestId,
2838}
2839
2840#[derive(Debug, Clone, Serialize, Deserialize, Default)]
2844#[serde(rename_all = "camelCase")]
2845pub struct StreamResourceContentReturns {
2846 pub bufferedData: String,
2849}
2850
2851impl StreamResourceContentParams { pub const METHOD: &'static str = "Network.streamResourceContent"; }
2852
2853impl crate::CdpCommand for StreamResourceContentParams {
2854 const METHOD: &'static str = "Network.streamResourceContent";
2855 type Response = StreamResourceContentReturns;
2856}
2857
2858#[derive(Debug, Clone, Serialize, Deserialize, Default)]
2861#[serde(rename_all = "camelCase")]
2862pub struct GetSecurityIsolationStatusParams {
2863 #[serde(skip_serializing_if = "Option::is_none")]
2866 pub frameId: Option<crate::page::FrameId>,
2867}
2868
2869#[derive(Debug, Clone, Serialize, Deserialize, Default)]
2872#[serde(rename_all = "camelCase")]
2873pub struct GetSecurityIsolationStatusReturns {
2874
2875 pub status: SecurityIsolationStatus,
2876}
2877
2878impl GetSecurityIsolationStatusParams { pub const METHOD: &'static str = "Network.getSecurityIsolationStatus"; }
2879
2880impl crate::CdpCommand for GetSecurityIsolationStatusParams {
2881 const METHOD: &'static str = "Network.getSecurityIsolationStatus";
2882 type Response = GetSecurityIsolationStatusReturns;
2883}
2884
2885#[derive(Debug, Clone, Serialize, Deserialize, Default)]
2889#[serde(rename_all = "camelCase")]
2890pub struct EnableReportingApiParams {
2891 pub enable: bool,
2894}
2895
2896impl EnableReportingApiParams { pub const METHOD: &'static str = "Network.enableReportingApi"; }
2897
2898impl crate::CdpCommand for EnableReportingApiParams {
2899 const METHOD: &'static str = "Network.enableReportingApi";
2900 type Response = crate::EmptyReturns;
2901}
2902
2903#[derive(Debug, Clone, Serialize, Deserialize, Default)]
2906#[serde(rename_all = "camelCase")]
2907pub struct EnableDeviceBoundSessionsParams {
2908 pub enable: bool,
2911}
2912
2913impl EnableDeviceBoundSessionsParams { pub const METHOD: &'static str = "Network.enableDeviceBoundSessions"; }
2914
2915impl crate::CdpCommand for EnableDeviceBoundSessionsParams {
2916 const METHOD: &'static str = "Network.enableDeviceBoundSessions";
2917 type Response = crate::EmptyReturns;
2918}
2919
2920#[derive(Debug, Clone, Serialize, Deserialize, Default)]
2923#[serde(rename_all = "camelCase")]
2924pub struct DeleteDeviceBoundSessionParams {
2925
2926 pub key: DeviceBoundSessionKey,
2927}
2928
2929impl DeleteDeviceBoundSessionParams { pub const METHOD: &'static str = "Network.deleteDeviceBoundSession"; }
2930
2931impl crate::CdpCommand for DeleteDeviceBoundSessionParams {
2932 const METHOD: &'static str = "Network.deleteDeviceBoundSession";
2933 type Response = crate::EmptyReturns;
2934}
2935
2936#[derive(Debug, Clone, Serialize, Deserialize, Default)]
2939#[serde(rename_all = "camelCase")]
2940pub struct FetchSchemefulSiteParams {
2941 pub origin: String,
2944}
2945
2946#[derive(Debug, Clone, Serialize, Deserialize, Default)]
2949#[serde(rename_all = "camelCase")]
2950pub struct FetchSchemefulSiteReturns {
2951 pub schemefulSite: String,
2954}
2955
2956impl FetchSchemefulSiteParams { pub const METHOD: &'static str = "Network.fetchSchemefulSite"; }
2957
2958impl crate::CdpCommand for FetchSchemefulSiteParams {
2959 const METHOD: &'static str = "Network.fetchSchemefulSite";
2960 type Response = FetchSchemefulSiteReturns;
2961}
2962
2963#[derive(Debug, Clone, Serialize, Deserialize, Default)]
2966#[serde(rename_all = "camelCase")]
2967pub struct LoadNetworkResourceParams {
2968 #[serde(skip_serializing_if = "Option::is_none")]
2972 pub frameId: Option<crate::page::FrameId>,
2973 pub url: String,
2976 pub options: LoadNetworkResourceOptions,
2979}
2980
2981#[derive(Debug, Clone, Serialize, Deserialize, Default)]
2984#[serde(rename_all = "camelCase")]
2985pub struct LoadNetworkResourceReturns {
2986
2987 pub resource: LoadNetworkResourcePageResult,
2988}
2989
2990impl LoadNetworkResourceParams { pub const METHOD: &'static str = "Network.loadNetworkResource"; }
2991
2992impl crate::CdpCommand for LoadNetworkResourceParams {
2993 const METHOD: &'static str = "Network.loadNetworkResource";
2994 type Response = LoadNetworkResourceReturns;
2995}
2996
2997#[derive(Debug, Clone, Serialize, Deserialize, Default)]
3001#[serde(rename_all = "camelCase")]
3002pub struct SetCookieControlsParams {
3003 pub enableThirdPartyCookieRestriction: bool,
3006}
3007
3008impl SetCookieControlsParams { pub const METHOD: &'static str = "Network.setCookieControls"; }
3009
3010impl crate::CdpCommand for SetCookieControlsParams {
3011 const METHOD: &'static str = "Network.setCookieControls";
3012 type Response = crate::EmptyReturns;
3013}