use serde::{Serialize, Deserialize};
use serde_json::Value as JsonValue;
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub enum ResourceType {
#[default]
Document,
Stylesheet,
Image,
Media,
Font,
Script,
TextTrack,
XHR,
Fetch,
Prefetch,
EventSource,
WebSocket,
Manifest,
SignedExchange,
Ping,
CSPViolationReport,
Preflight,
FedCM,
Other,
}
pub type LoaderId = String;
pub type RequestId = String;
pub type InterceptionId = String;
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub enum ErrorReason {
#[default]
Failed,
Aborted,
TimedOut,
AccessDenied,
ConnectionClosed,
ConnectionReset,
ConnectionRefused,
ConnectionAborted,
ConnectionFailed,
NameNotResolved,
InternetDisconnected,
AddressUnreachable,
BlockedByClient,
BlockedByResponse,
}
pub type TimeSinceEpoch = f64;
pub type MonotonicTime = f64;
pub type Headers = serde_json::Map<String, JsonValue>;
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub enum ConnectionType {
#[default]
None,
Cellular2g,
Cellular3g,
Cellular4g,
Bluetooth,
Ethernet,
Wifi,
Wimax,
Other,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub enum CookieSameSite {
#[default]
Strict,
Lax,
None,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub enum CookiePriority {
#[default]
Low,
Medium,
High,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub enum CookieSourceScheme {
#[default]
Unset,
NonSecure,
Secure,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct ResourceTiming {
pub requestTime: f64,
pub proxyStart: f64,
pub proxyEnd: f64,
pub dnsStart: f64,
pub dnsEnd: f64,
pub connectStart: f64,
pub connectEnd: f64,
pub sslStart: f64,
pub sslEnd: f64,
pub workerStart: f64,
pub workerReady: f64,
pub workerFetchStart: f64,
pub workerRespondWithSettled: f64,
#[serde(skip_serializing_if = "Option::is_none")]
pub workerRouterEvaluationStart: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub workerCacheLookupStart: Option<f64>,
pub sendStart: f64,
pub sendEnd: f64,
pub pushStart: f64,
pub pushEnd: f64,
pub receiveHeadersStart: f64,
pub receiveHeadersEnd: f64,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub enum ResourcePriority {
#[default]
VeryLow,
Low,
Medium,
High,
VeryHigh,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub enum RenderBlockingBehavior {
#[default]
Blocking,
InBodyParserBlocking,
NonBlocking,
NonBlockingDynamic,
PotentiallyBlocking,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct PostDataEntry {
#[serde(skip_serializing_if = "Option::is_none")]
pub bytes: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct Request {
pub url: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub urlFragment: Option<String>,
pub method: String,
pub headers: Headers,
#[serde(skip_serializing_if = "Option::is_none")]
pub postData: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub hasPostData: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub postDataEntries: Option<Vec<PostDataEntry>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub mixedContentType: Option<crate::security::MixedContentType>,
pub initialPriority: ResourcePriority,
pub referrerPolicy: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub isLinkPreload: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub trustTokenParams: Option<TrustTokenParams>,
#[serde(skip_serializing_if = "Option::is_none")]
pub isSameSite: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub isAdRelated: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SignedCertificateTimestamp {
pub status: String,
pub origin: String,
pub logDescription: String,
pub logId: String,
pub timestamp: f64,
pub hashAlgorithm: String,
pub signatureAlgorithm: String,
pub signatureData: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SecurityDetails {
pub protocol: String,
pub keyExchange: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub keyExchangeGroup: Option<String>,
pub cipher: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub mac: Option<String>,
pub certificateId: crate::security::CertificateId,
pub subjectName: String,
pub sanList: Vec<String>,
pub issuer: String,
pub validFrom: TimeSinceEpoch,
pub validTo: TimeSinceEpoch,
pub signedCertificateTimestampList: Vec<SignedCertificateTimestamp>,
pub certificateTransparencyCompliance: CertificateTransparencyCompliance,
#[serde(skip_serializing_if = "Option::is_none")]
pub serverSignatureAlgorithm: Option<i64>,
pub encryptedClientHello: bool,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub enum CertificateTransparencyCompliance {
#[default]
Unknown,
NotCompliant,
Compliant,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub enum BlockedReason {
#[default]
Other,
Csp,
MixedContent,
Origin,
Inspector,
Integrity,
SubresourceFilter,
ContentType,
CoepFrameResourceNeedsCoepHeader,
CoopSandboxedIframeCannotNavigateToCoopPage,
CorpNotSameOrigin,
CorpNotSameOriginAfterDefaultedToSameOriginByCoep,
CorpNotSameOriginAfterDefaultedToSameOriginByDip,
CorpNotSameOriginAfterDefaultedToSameOriginByCoepAndDip,
CorpNotSameSite,
SriMessageSignatureMismatch,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub enum CorsError {
#[default]
DisallowedByMode,
InvalidResponse,
WildcardOriginNotAllowed,
MissingAllowOriginHeader,
MultipleAllowOriginValues,
InvalidAllowOriginValue,
AllowOriginMismatch,
InvalidAllowCredentials,
CorsDisabledScheme,
PreflightInvalidStatus,
PreflightDisallowedRedirect,
PreflightWildcardOriginNotAllowed,
PreflightMissingAllowOriginHeader,
PreflightMultipleAllowOriginValues,
PreflightInvalidAllowOriginValue,
PreflightAllowOriginMismatch,
PreflightInvalidAllowCredentials,
PreflightMissingAllowExternal,
PreflightInvalidAllowExternal,
InvalidAllowMethodsPreflightResponse,
InvalidAllowHeadersPreflightResponse,
MethodDisallowedByPreflightResponse,
HeaderDisallowedByPreflightResponse,
RedirectContainsCredentials,
InsecureLocalNetwork,
InvalidLocalNetworkAccess,
NoCorsRedirectModeNotFollow,
LocalNetworkAccessPermissionDenied,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct CorsErrorStatus {
pub corsError: CorsError,
pub failedParameter: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub enum ServiceWorkerResponseSource {
#[default]
CacheStorage,
HttpCache,
FallbackCode,
Network,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct TrustTokenParams {
pub operation: TrustTokenOperationType,
pub refreshPolicy: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub issuers: Option<Vec<String>>,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub enum TrustTokenOperationType {
#[default]
Issuance,
Redemption,
Signing,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub enum AlternateProtocolUsage {
#[default]
AlternativeJobWonWithoutRace,
AlternativeJobWonRace,
MainJobWonRace,
MappingMissing,
Broken,
DnsAlpnH3JobWonWithoutRace,
DnsAlpnH3JobWonRace,
UnspecifiedReason,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub enum ServiceWorkerRouterSource {
#[default]
Network,
Cache,
FetchEvent,
RaceNetworkAndFetchHandler,
RaceNetworkAndCache,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct ServiceWorkerRouterInfo {
#[serde(skip_serializing_if = "Option::is_none")]
pub ruleIdMatched: Option<u64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub matchedSourceType: Option<ServiceWorkerRouterSource>,
#[serde(skip_serializing_if = "Option::is_none")]
pub actualSourceType: Option<ServiceWorkerRouterSource>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct Response {
pub url: String,
pub status: i64,
pub statusText: String,
pub headers: Headers,
#[serde(skip_serializing_if = "Option::is_none")]
pub headersText: Option<String>,
pub mimeType: String,
pub charset: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub requestHeaders: Option<Headers>,
#[serde(skip_serializing_if = "Option::is_none")]
pub requestHeadersText: Option<String>,
pub connectionReused: bool,
pub connectionId: f64,
#[serde(skip_serializing_if = "Option::is_none")]
pub remoteIPAddress: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub remotePort: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub fromDiskCache: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub fromServiceWorker: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub fromPrefetchCache: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub fromEarlyHints: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub serviceWorkerRouterInfo: Option<ServiceWorkerRouterInfo>,
pub encodedDataLength: f64,
#[serde(skip_serializing_if = "Option::is_none")]
pub timing: Option<ResourceTiming>,
#[serde(skip_serializing_if = "Option::is_none")]
pub serviceWorkerResponseSource: Option<ServiceWorkerResponseSource>,
#[serde(skip_serializing_if = "Option::is_none")]
pub responseTime: Option<TimeSinceEpoch>,
#[serde(skip_serializing_if = "Option::is_none")]
pub cacheStorageCacheName: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub protocol: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub alternateProtocolUsage: Option<AlternateProtocolUsage>,
pub securityState: crate::security::SecurityState,
#[serde(skip_serializing_if = "Option::is_none")]
pub securityDetails: Option<SecurityDetails>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct WebSocketRequest {
pub headers: Headers,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct WebSocketResponse {
pub status: i64,
pub statusText: String,
pub headers: Headers,
#[serde(skip_serializing_if = "Option::is_none")]
pub headersText: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub requestHeaders: Option<Headers>,
#[serde(skip_serializing_if = "Option::is_none")]
pub requestHeadersText: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct WebSocketFrame {
pub opcode: f64,
pub mask: bool,
pub payloadData: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct CachedResource {
pub url: String,
#[serde(rename = "type")]
pub type_: ResourceType,
#[serde(skip_serializing_if = "Option::is_none")]
pub response: Option<Response>,
pub bodySize: f64,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct Initiator {
#[serde(rename = "type")]
pub type_: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub stack: Option<crate::runtime::StackTrace>,
#[serde(skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub lineNumber: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub columnNumber: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub requestId: Option<RequestId>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct CookiePartitionKey {
pub topLevelSite: String,
pub hasCrossSiteAncestor: bool,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct Cookie {
pub name: String,
pub value: String,
pub domain: String,
pub path: String,
pub expires: f64,
pub size: u64,
pub httpOnly: bool,
pub secure: bool,
pub session: bool,
#[serde(skip_serializing_if = "Option::is_none")]
pub sameSite: Option<CookieSameSite>,
pub priority: CookiePriority,
pub sourceScheme: CookieSourceScheme,
pub sourcePort: i64,
#[serde(skip_serializing_if = "Option::is_none")]
pub partitionKey: Option<CookiePartitionKey>,
#[serde(skip_serializing_if = "Option::is_none")]
pub partitionKeyOpaque: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub enum SetCookieBlockedReason {
#[default]
SecureOnly,
SameSiteStrict,
SameSiteLax,
SameSiteUnspecifiedTreatedAsLax,
SameSiteNoneInsecure,
UserPreferences,
ThirdPartyPhaseout,
ThirdPartyBlockedInFirstPartySet,
SyntaxError,
SchemeNotSupported,
OverwriteSecure,
InvalidDomain,
InvalidPrefix,
UnknownError,
SchemefulSameSiteStrict,
SchemefulSameSiteLax,
SchemefulSameSiteUnspecifiedTreatedAsLax,
NameValuePairExceedsMaxSize,
DisallowedCharacter,
NoCookieContent,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub enum CookieBlockedReason {
#[default]
SecureOnly,
NotOnPath,
DomainMismatch,
SameSiteStrict,
SameSiteLax,
SameSiteUnspecifiedTreatedAsLax,
SameSiteNoneInsecure,
UserPreferences,
ThirdPartyPhaseout,
ThirdPartyBlockedInFirstPartySet,
UnknownError,
SchemefulSameSiteStrict,
SchemefulSameSiteLax,
SchemefulSameSiteUnspecifiedTreatedAsLax,
NameValuePairExceedsMaxSize,
PortMismatch,
SchemeMismatch,
AnonymousContext,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub enum CookieExemptionReason {
#[default]
None,
UserSetting,
TPCDMetadata,
TPCDDeprecationTrial,
TopLevelTPCDDeprecationTrial,
TPCDHeuristics,
EnterprisePolicy,
StorageAccess,
TopLevelStorageAccess,
Scheme,
SameSiteNoneCookiesInSandbox,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct BlockedSetCookieWithReason {
pub blockedReasons: Vec<SetCookieBlockedReason>,
pub cookieLine: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub cookie: Option<Cookie>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct ExemptedSetCookieWithReason {
pub exemptionReason: CookieExemptionReason,
pub cookieLine: String,
pub cookie: Cookie,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct AssociatedCookie {
pub cookie: Cookie,
pub blockedReasons: Vec<CookieBlockedReason>,
#[serde(skip_serializing_if = "Option::is_none")]
pub exemptionReason: Option<CookieExemptionReason>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct CookieParam {
pub name: String,
pub value: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub domain: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub secure: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub httpOnly: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub sameSite: Option<CookieSameSite>,
#[serde(skip_serializing_if = "Option::is_none")]
pub expires: Option<TimeSinceEpoch>,
#[serde(skip_serializing_if = "Option::is_none")]
pub priority: Option<CookiePriority>,
#[serde(skip_serializing_if = "Option::is_none")]
pub sourceScheme: Option<CookieSourceScheme>,
#[serde(skip_serializing_if = "Option::is_none")]
pub sourcePort: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub partitionKey: Option<CookiePartitionKey>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct AuthChallenge {
#[serde(skip_serializing_if = "Option::is_none")]
pub source: Option<String>,
pub origin: String,
pub scheme: String,
pub realm: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct AuthChallengeResponse {
pub response: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub username: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub password: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub enum InterceptionStage {
#[default]
Request,
HeadersReceived,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct RequestPattern {
#[serde(skip_serializing_if = "Option::is_none")]
pub urlPattern: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub resourceType: Option<ResourceType>,
#[serde(skip_serializing_if = "Option::is_none")]
pub interceptionStage: Option<InterceptionStage>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SignedExchangeSignature {
pub label: String,
pub signature: String,
pub integrity: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub certUrl: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub certSha256: Option<String>,
pub validityUrl: String,
pub date: i64,
pub expires: i64,
#[serde(skip_serializing_if = "Option::is_none")]
pub certificates: Option<Vec<String>>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SignedExchangeHeader {
pub requestUrl: String,
pub responseCode: i64,
pub responseHeaders: Headers,
pub signatures: Vec<SignedExchangeSignature>,
pub headerIntegrity: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub enum SignedExchangeErrorField {
#[default]
SignatureSig,
SignatureIntegrity,
SignatureCertUrl,
SignatureCertSha256,
SignatureValidityUrl,
SignatureTimestamps,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SignedExchangeError {
pub message: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub signatureIndex: Option<u64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub errorField: Option<SignedExchangeErrorField>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SignedExchangeInfo {
pub outerResponse: Response,
pub hasExtraInfo: bool,
#[serde(skip_serializing_if = "Option::is_none")]
pub header: Option<SignedExchangeHeader>,
#[serde(skip_serializing_if = "Option::is_none")]
pub securityDetails: Option<SecurityDetails>,
#[serde(skip_serializing_if = "Option::is_none")]
pub errors: Option<Vec<SignedExchangeError>>,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub enum ContentEncoding {
#[default]
Deflate,
Gzip,
Br,
Zstd,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct NetworkConditions {
pub urlPattern: String,
pub latency: f64,
pub downloadThroughput: f64,
pub uploadThroughput: f64,
#[serde(skip_serializing_if = "Option::is_none")]
pub connectionType: Option<ConnectionType>,
#[serde(skip_serializing_if = "Option::is_none")]
pub packetLoss: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub packetQueueLength: Option<u64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub packetReordering: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub offline: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct BlockPattern {
pub urlPattern: String,
pub block: bool,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub enum DirectSocketDnsQueryType {
#[default]
Ipv4,
Ipv6,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct DirectTCPSocketOptions {
pub noDelay: bool,
#[serde(skip_serializing_if = "Option::is_none")]
pub keepAliveDelay: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub sendBufferSize: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub receiveBufferSize: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub dnsQueryType: Option<DirectSocketDnsQueryType>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct DirectUDPSocketOptions {
#[serde(skip_serializing_if = "Option::is_none")]
pub remoteAddr: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub remotePort: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub localAddr: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub localPort: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub dnsQueryType: Option<DirectSocketDnsQueryType>,
#[serde(skip_serializing_if = "Option::is_none")]
pub sendBufferSize: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub receiveBufferSize: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub multicastLoopback: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub multicastTimeToLive: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub multicastAllowAddressSharing: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct DirectUDPMessage {
pub data: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub remoteAddr: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub remotePort: Option<i64>,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub enum LocalNetworkAccessRequestPolicy {
#[default]
Allow,
BlockFromInsecureToMorePrivate,
WarnFromInsecureToMorePrivate,
PermissionBlock,
PermissionWarn,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub enum IPAddressSpace {
#[default]
Loopback,
Local,
Public,
Unknown,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct ConnectTiming {
pub requestTime: f64,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct ClientSecurityState {
pub initiatorIsSecureContext: bool,
pub initiatorIPAddressSpace: IPAddressSpace,
pub localNetworkAccessRequestPolicy: LocalNetworkAccessRequestPolicy,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct AdScriptIdentifier {
pub scriptId: crate::runtime::ScriptId,
pub debuggerId: crate::runtime::UniqueDebuggerId,
pub name: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct AdAncestry {
pub ancestryChain: Vec<AdScriptIdentifier>,
#[serde(skip_serializing_if = "Option::is_none")]
pub rootScriptFilterlistRule: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct AdProvenance {
#[serde(skip_serializing_if = "Option::is_none")]
pub filterlistRule: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub adScriptAncestry: Option<AdAncestry>,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub enum CrossOriginOpenerPolicyValue {
#[default]
SameOrigin,
SameOriginAllowPopups,
RestrictProperties,
UnsafeNone,
SameOriginPlusCoep,
RestrictPropertiesPlusCoep,
NoopenerAllowPopups,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct CrossOriginOpenerPolicyStatus {
pub value: CrossOriginOpenerPolicyValue,
pub reportOnlyValue: CrossOriginOpenerPolicyValue,
#[serde(skip_serializing_if = "Option::is_none")]
pub reportingEndpoint: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub reportOnlyReportingEndpoint: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub enum CrossOriginEmbedderPolicyValue {
#[default]
None,
Credentialless,
RequireCorp,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct CrossOriginEmbedderPolicyStatus {
pub value: CrossOriginEmbedderPolicyValue,
pub reportOnlyValue: CrossOriginEmbedderPolicyValue,
#[serde(skip_serializing_if = "Option::is_none")]
pub reportingEndpoint: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub reportOnlyReportingEndpoint: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub enum ContentSecurityPolicySource {
#[default]
HTTP,
Meta,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct ContentSecurityPolicyStatus {
pub effectiveDirectives: String,
pub isEnforced: bool,
pub source: ContentSecurityPolicySource,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SecurityIsolationStatus {
#[serde(skip_serializing_if = "Option::is_none")]
pub coop: Option<CrossOriginOpenerPolicyStatus>,
#[serde(skip_serializing_if = "Option::is_none")]
pub coep: Option<CrossOriginEmbedderPolicyStatus>,
#[serde(skip_serializing_if = "Option::is_none")]
pub csp: Option<Vec<ContentSecurityPolicyStatus>>,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub enum ReportStatus {
#[default]
Queued,
Pending,
MarkedForRemoval,
Success,
}
pub type ReportId = String;
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct ReportingApiReport {
pub id: ReportId,
pub initiatorUrl: String,
pub destination: String,
#[serde(rename = "type")]
pub type_: String,
pub timestamp: crate::network::TimeSinceEpoch,
pub depth: i64,
pub completedAttempts: i64,
pub body: serde_json::Map<String, JsonValue>,
pub status: ReportStatus,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct ReportingApiEndpoint {
pub url: String,
pub groupName: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct DeviceBoundSessionKey {
pub site: String,
pub id: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct DeviceBoundSessionWithUsage {
pub sessionKey: DeviceBoundSessionKey,
pub usage: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct DeviceBoundSessionCookieCraving {
pub name: String,
pub domain: String,
pub path: String,
pub secure: bool,
pub httpOnly: bool,
#[serde(skip_serializing_if = "Option::is_none")]
pub sameSite: Option<CookieSameSite>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct DeviceBoundSessionUrlRule {
pub ruleType: String,
pub hostPattern: String,
pub pathPrefix: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct DeviceBoundSessionInclusionRules {
pub origin: String,
pub includeSite: bool,
pub urlRules: Vec<DeviceBoundSessionUrlRule>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct DeviceBoundSession {
pub key: DeviceBoundSessionKey,
pub refreshUrl: String,
pub inclusionRules: DeviceBoundSessionInclusionRules,
pub cookieCravings: Vec<DeviceBoundSessionCookieCraving>,
pub expiryDate: crate::network::TimeSinceEpoch,
#[serde(skip_serializing_if = "Option::is_none")]
pub cachedChallenge: Option<String>,
pub allowedRefreshInitiators: Vec<String>,
}
pub type DeviceBoundSessionEventId = String;
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub enum DeviceBoundSessionFetchResult {
#[default]
Success,
KeyError,
SigningError,
ServerRequestedTermination,
InvalidSessionId,
InvalidChallenge,
TooManyChallenges,
InvalidFetcherUrl,
InvalidRefreshUrl,
TransientHttpError,
ScopeOriginSameSiteMismatch,
RefreshUrlSameSiteMismatch,
MismatchedSessionId,
MissingScope,
NoCredentials,
SubdomainRegistrationWellKnownUnavailable,
SubdomainRegistrationUnauthorized,
SubdomainRegistrationWellKnownMalformed,
SessionProviderWellKnownUnavailable,
RelyingPartyWellKnownUnavailable,
FederatedKeyThumbprintMismatch,
InvalidFederatedSessionUrl,
InvalidFederatedKey,
TooManyRelyingOriginLabels,
BoundCookieSetForbidden,
NetError,
ProxyError,
EmptySessionConfig,
InvalidCredentialsConfig,
InvalidCredentialsType,
InvalidCredentialsEmptyName,
InvalidCredentialsCookie,
PersistentHttpError,
RegistrationAttemptedChallenge,
InvalidScopeOrigin,
ScopeOriginContainsPath,
RefreshInitiatorNotString,
RefreshInitiatorInvalidHostPattern,
InvalidScopeSpecification,
MissingScopeSpecificationType,
EmptyScopeSpecificationDomain,
EmptyScopeSpecificationPath,
InvalidScopeSpecificationType,
InvalidScopeIncludeSite,
MissingScopeIncludeSite,
FederatedNotAuthorizedByProvider,
FederatedNotAuthorizedByRelyingParty,
SessionProviderWellKnownMalformed,
SessionProviderWellKnownHasProviderOrigin,
RelyingPartyWellKnownMalformed,
RelyingPartyWellKnownHasRelyingOrigins,
InvalidFederatedSessionProviderSessionMissing,
InvalidFederatedSessionWrongProviderOrigin,
InvalidCredentialsCookieCreationTime,
InvalidCredentialsCookieName,
InvalidCredentialsCookieParsing,
InvalidCredentialsCookieUnpermittedAttribute,
InvalidCredentialsCookieInvalidDomain,
InvalidCredentialsCookiePrefix,
InvalidScopeRulePath,
InvalidScopeRuleHostPattern,
ScopeRuleOriginScopedHostPatternMismatch,
ScopeRuleSiteScopedHostPatternMismatch,
SigningQuotaExceeded,
InvalidConfigJson,
InvalidFederatedSessionProviderFailedToRestoreKey,
FailedToUnwrapKey,
SessionDeletedDuringRefresh,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct DeviceBoundSessionFailedRequest {
pub requestUrl: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub netError: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub responseError: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub responseErrorBody: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct CreationEventDetails {
pub fetchResult: DeviceBoundSessionFetchResult,
#[serde(skip_serializing_if = "Option::is_none")]
pub newSession: Option<DeviceBoundSession>,
#[serde(skip_serializing_if = "Option::is_none")]
pub failedRequest: Option<DeviceBoundSessionFailedRequest>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct RefreshEventDetails {
pub refreshResult: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub fetchResult: Option<DeviceBoundSessionFetchResult>,
#[serde(skip_serializing_if = "Option::is_none")]
pub newSession: Option<DeviceBoundSession>,
pub wasFullyProactiveRefresh: bool,
#[serde(skip_serializing_if = "Option::is_none")]
pub failedRequest: Option<DeviceBoundSessionFailedRequest>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct TerminationEventDetails {
pub deletionReason: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct ChallengeEventDetails {
pub challengeResult: String,
pub challenge: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct LoadNetworkResourcePageResult {
pub success: bool,
#[serde(skip_serializing_if = "Option::is_none")]
pub netError: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub netErrorName: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub httpStatusCode: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub stream: Option<crate::io::StreamHandle>,
#[serde(skip_serializing_if = "Option::is_none")]
pub headers: Option<crate::network::Headers>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct LoadNetworkResourceOptions {
pub disableCache: bool,
pub includeCredentials: bool,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetAcceptedEncodingsParams {
pub encodings: Vec<ContentEncoding>,
}
impl SetAcceptedEncodingsParams { pub const METHOD: &'static str = "Network.setAcceptedEncodings"; }
impl crate::CdpCommand for SetAcceptedEncodingsParams {
const METHOD: &'static str = "Network.setAcceptedEncodings";
type Response = crate::EmptyReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct ClearAcceptedEncodingsOverrideParams {}
impl ClearAcceptedEncodingsOverrideParams { pub const METHOD: &'static str = "Network.clearAcceptedEncodingsOverride"; }
impl crate::CdpCommand for ClearAcceptedEncodingsOverrideParams {
const METHOD: &'static str = "Network.clearAcceptedEncodingsOverride";
type Response = crate::EmptyReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct CanClearBrowserCacheReturns {
pub result: bool,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct CanClearBrowserCacheParams {}
impl CanClearBrowserCacheParams { pub const METHOD: &'static str = "Network.canClearBrowserCache"; }
impl crate::CdpCommand for CanClearBrowserCacheParams {
const METHOD: &'static str = "Network.canClearBrowserCache";
type Response = CanClearBrowserCacheReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct CanClearBrowserCookiesReturns {
pub result: bool,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct CanClearBrowserCookiesParams {}
impl CanClearBrowserCookiesParams { pub const METHOD: &'static str = "Network.canClearBrowserCookies"; }
impl crate::CdpCommand for CanClearBrowserCookiesParams {
const METHOD: &'static str = "Network.canClearBrowserCookies";
type Response = CanClearBrowserCookiesReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct CanEmulateNetworkConditionsReturns {
pub result: bool,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct CanEmulateNetworkConditionsParams {}
impl CanEmulateNetworkConditionsParams { pub const METHOD: &'static str = "Network.canEmulateNetworkConditions"; }
impl crate::CdpCommand for CanEmulateNetworkConditionsParams {
const METHOD: &'static str = "Network.canEmulateNetworkConditions";
type Response = CanEmulateNetworkConditionsReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct ClearBrowserCacheParams {}
impl ClearBrowserCacheParams { pub const METHOD: &'static str = "Network.clearBrowserCache"; }
impl crate::CdpCommand for ClearBrowserCacheParams {
const METHOD: &'static str = "Network.clearBrowserCache";
type Response = crate::EmptyReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct ClearBrowserCookiesParams {}
impl ClearBrowserCookiesParams { pub const METHOD: &'static str = "Network.clearBrowserCookies"; }
impl crate::CdpCommand for ClearBrowserCookiesParams {
const METHOD: &'static str = "Network.clearBrowserCookies";
type Response = crate::EmptyReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct ContinueInterceptedRequestParams {
pub interceptionId: InterceptionId,
#[serde(skip_serializing_if = "Option::is_none")]
pub errorReason: Option<ErrorReason>,
#[serde(skip_serializing_if = "Option::is_none")]
pub rawResponse: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub method: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub postData: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub headers: Option<Headers>,
#[serde(skip_serializing_if = "Option::is_none")]
pub authChallengeResponse: Option<AuthChallengeResponse>,
}
impl ContinueInterceptedRequestParams { pub const METHOD: &'static str = "Network.continueInterceptedRequest"; }
impl crate::CdpCommand for ContinueInterceptedRequestParams {
const METHOD: &'static str = "Network.continueInterceptedRequest";
type Response = crate::EmptyReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct DeleteCookiesParams {
pub name: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub domain: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub partitionKey: Option<CookiePartitionKey>,
}
impl DeleteCookiesParams { pub const METHOD: &'static str = "Network.deleteCookies"; }
impl crate::CdpCommand for DeleteCookiesParams {
const METHOD: &'static str = "Network.deleteCookies";
type Response = crate::EmptyReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct DisableParams {}
impl DisableParams { pub const METHOD: &'static str = "Network.disable"; }
impl crate::CdpCommand for DisableParams {
const METHOD: &'static str = "Network.disable";
type Response = crate::EmptyReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct EmulateNetworkConditionsParams {
pub offline: bool,
pub latency: f64,
pub downloadThroughput: f64,
pub uploadThroughput: f64,
#[serde(skip_serializing_if = "Option::is_none")]
pub connectionType: Option<ConnectionType>,
#[serde(skip_serializing_if = "Option::is_none")]
pub packetLoss: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub packetQueueLength: Option<u64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub packetReordering: Option<bool>,
}
impl EmulateNetworkConditionsParams { pub const METHOD: &'static str = "Network.emulateNetworkConditions"; }
impl crate::CdpCommand for EmulateNetworkConditionsParams {
const METHOD: &'static str = "Network.emulateNetworkConditions";
type Response = crate::EmptyReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct EmulateNetworkConditionsByRuleParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub offline: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub emulateOfflineServiceWorker: Option<bool>,
pub matchedNetworkConditions: Vec<NetworkConditions>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct EmulateNetworkConditionsByRuleReturns {
pub ruleIds: Vec<String>,
}
impl EmulateNetworkConditionsByRuleParams { pub const METHOD: &'static str = "Network.emulateNetworkConditionsByRule"; }
impl crate::CdpCommand for EmulateNetworkConditionsByRuleParams {
const METHOD: &'static str = "Network.emulateNetworkConditionsByRule";
type Response = EmulateNetworkConditionsByRuleReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct OverrideNetworkStateParams {
pub offline: bool,
pub latency: f64,
pub downloadThroughput: f64,
pub uploadThroughput: f64,
#[serde(skip_serializing_if = "Option::is_none")]
pub connectionType: Option<ConnectionType>,
}
impl OverrideNetworkStateParams { pub const METHOD: &'static str = "Network.overrideNetworkState"; }
impl crate::CdpCommand for OverrideNetworkStateParams {
const METHOD: &'static str = "Network.overrideNetworkState";
type Response = crate::EmptyReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct EnableParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub maxTotalBufferSize: Option<u64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub maxResourceBufferSize: Option<u64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub maxPostDataSize: Option<u64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub reportDirectSocketTraffic: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub enableDurableMessages: Option<bool>,
}
impl EnableParams { pub const METHOD: &'static str = "Network.enable"; }
impl crate::CdpCommand for EnableParams {
const METHOD: &'static str = "Network.enable";
type Response = crate::EmptyReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct ConfigureDurableMessagesParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub maxTotalBufferSize: Option<u64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub maxResourceBufferSize: Option<u64>,
}
impl ConfigureDurableMessagesParams { pub const METHOD: &'static str = "Network.configureDurableMessages"; }
impl crate::CdpCommand for ConfigureDurableMessagesParams {
const METHOD: &'static str = "Network.configureDurableMessages";
type Response = crate::EmptyReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetAllCookiesReturns {
pub cookies: Vec<Cookie>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct GetAllCookiesParams {}
impl GetAllCookiesParams { pub const METHOD: &'static str = "Network.getAllCookies"; }
impl crate::CdpCommand for GetAllCookiesParams {
const METHOD: &'static str = "Network.getAllCookies";
type Response = GetAllCookiesReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetCertificateParams {
pub origin: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetCertificateReturns {
pub tableNames: Vec<String>,
}
impl GetCertificateParams { pub const METHOD: &'static str = "Network.getCertificate"; }
impl crate::CdpCommand for GetCertificateParams {
const METHOD: &'static str = "Network.getCertificate";
type Response = GetCertificateReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetCookiesParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub urls: Option<Vec<String>>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetCookiesReturns {
pub cookies: Vec<Cookie>,
}
impl GetCookiesParams { pub const METHOD: &'static str = "Network.getCookies"; }
impl crate::CdpCommand for GetCookiesParams {
const METHOD: &'static str = "Network.getCookies";
type Response = GetCookiesReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetResponseBodyParams {
pub requestId: RequestId,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetResponseBodyReturns {
pub body: String,
pub base64Encoded: bool,
}
impl GetResponseBodyParams { pub const METHOD: &'static str = "Network.getResponseBody"; }
impl crate::CdpCommand for GetResponseBodyParams {
const METHOD: &'static str = "Network.getResponseBody";
type Response = GetResponseBodyReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetRequestPostDataParams {
pub requestId: RequestId,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetRequestPostDataReturns {
pub postData: String,
pub base64Encoded: bool,
}
impl GetRequestPostDataParams { pub const METHOD: &'static str = "Network.getRequestPostData"; }
impl crate::CdpCommand for GetRequestPostDataParams {
const METHOD: &'static str = "Network.getRequestPostData";
type Response = GetRequestPostDataReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetResponseBodyForInterceptionParams {
pub interceptionId: InterceptionId,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetResponseBodyForInterceptionReturns {
pub body: String,
pub base64Encoded: bool,
}
impl GetResponseBodyForInterceptionParams { pub const METHOD: &'static str = "Network.getResponseBodyForInterception"; }
impl crate::CdpCommand for GetResponseBodyForInterceptionParams {
const METHOD: &'static str = "Network.getResponseBodyForInterception";
type Response = GetResponseBodyForInterceptionReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct TakeResponseBodyForInterceptionAsStreamParams {
pub interceptionId: InterceptionId,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct TakeResponseBodyForInterceptionAsStreamReturns {
pub stream: crate::io::StreamHandle,
}
impl TakeResponseBodyForInterceptionAsStreamParams { pub const METHOD: &'static str = "Network.takeResponseBodyForInterceptionAsStream"; }
impl crate::CdpCommand for TakeResponseBodyForInterceptionAsStreamParams {
const METHOD: &'static str = "Network.takeResponseBodyForInterceptionAsStream";
type Response = TakeResponseBodyForInterceptionAsStreamReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct ReplayXHRParams {
pub requestId: RequestId,
}
impl ReplayXHRParams { pub const METHOD: &'static str = "Network.replayXHR"; }
impl crate::CdpCommand for ReplayXHRParams {
const METHOD: &'static str = "Network.replayXHR";
type Response = crate::EmptyReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SearchInResponseBodyParams {
pub requestId: RequestId,
pub query: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub caseSensitive: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub isRegex: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SearchInResponseBodyReturns {
pub result: Vec<crate::debugger::SearchMatch>,
}
impl SearchInResponseBodyParams { pub const METHOD: &'static str = "Network.searchInResponseBody"; }
impl crate::CdpCommand for SearchInResponseBodyParams {
const METHOD: &'static str = "Network.searchInResponseBody";
type Response = SearchInResponseBodyReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetBlockedURLsParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub urlPatterns: Option<Vec<BlockPattern>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub urls: Option<Vec<String>>,
}
impl SetBlockedURLsParams { pub const METHOD: &'static str = "Network.setBlockedURLs"; }
impl crate::CdpCommand for SetBlockedURLsParams {
const METHOD: &'static str = "Network.setBlockedURLs";
type Response = crate::EmptyReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetBypassServiceWorkerParams {
pub bypass: bool,
}
impl SetBypassServiceWorkerParams { pub const METHOD: &'static str = "Network.setBypassServiceWorker"; }
impl crate::CdpCommand for SetBypassServiceWorkerParams {
const METHOD: &'static str = "Network.setBypassServiceWorker";
type Response = crate::EmptyReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetCacheDisabledParams {
pub cacheDisabled: bool,
}
impl SetCacheDisabledParams { pub const METHOD: &'static str = "Network.setCacheDisabled"; }
impl crate::CdpCommand for SetCacheDisabledParams {
const METHOD: &'static str = "Network.setCacheDisabled";
type Response = crate::EmptyReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetCookieParams {
pub name: String,
pub value: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub domain: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub secure: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub httpOnly: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub sameSite: Option<CookieSameSite>,
#[serde(skip_serializing_if = "Option::is_none")]
pub expires: Option<TimeSinceEpoch>,
#[serde(skip_serializing_if = "Option::is_none")]
pub priority: Option<CookiePriority>,
#[serde(skip_serializing_if = "Option::is_none")]
pub sourceScheme: Option<CookieSourceScheme>,
#[serde(skip_serializing_if = "Option::is_none")]
pub sourcePort: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub partitionKey: Option<CookiePartitionKey>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetCookieReturns {
pub success: bool,
}
impl SetCookieParams { pub const METHOD: &'static str = "Network.setCookie"; }
impl crate::CdpCommand for SetCookieParams {
const METHOD: &'static str = "Network.setCookie";
type Response = SetCookieReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetCookiesParams {
pub cookies: Vec<CookieParam>,
}
impl SetCookiesParams { pub const METHOD: &'static str = "Network.setCookies"; }
impl crate::CdpCommand for SetCookiesParams {
const METHOD: &'static str = "Network.setCookies";
type Response = crate::EmptyReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetExtraHTTPHeadersParams {
pub headers: Headers,
}
impl SetExtraHTTPHeadersParams { pub const METHOD: &'static str = "Network.setExtraHTTPHeaders"; }
impl crate::CdpCommand for SetExtraHTTPHeadersParams {
const METHOD: &'static str = "Network.setExtraHTTPHeaders";
type Response = crate::EmptyReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetAttachDebugStackParams {
pub enabled: bool,
}
impl SetAttachDebugStackParams { pub const METHOD: &'static str = "Network.setAttachDebugStack"; }
impl crate::CdpCommand for SetAttachDebugStackParams {
const METHOD: &'static str = "Network.setAttachDebugStack";
type Response = crate::EmptyReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetRequestInterceptionParams {
pub patterns: Vec<RequestPattern>,
}
impl SetRequestInterceptionParams { pub const METHOD: &'static str = "Network.setRequestInterception"; }
impl crate::CdpCommand for SetRequestInterceptionParams {
const METHOD: &'static str = "Network.setRequestInterception";
type Response = crate::EmptyReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetUserAgentOverrideParams {
pub userAgent: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub acceptLanguage: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub platform: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub userAgentMetadata: Option<crate::emulation::UserAgentMetadata>,
}
impl SetUserAgentOverrideParams { pub const METHOD: &'static str = "Network.setUserAgentOverride"; }
impl crate::CdpCommand for SetUserAgentOverrideParams {
const METHOD: &'static str = "Network.setUserAgentOverride";
type Response = crate::EmptyReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct StreamResourceContentParams {
pub requestId: RequestId,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct StreamResourceContentReturns {
pub bufferedData: String,
}
impl StreamResourceContentParams { pub const METHOD: &'static str = "Network.streamResourceContent"; }
impl crate::CdpCommand for StreamResourceContentParams {
const METHOD: &'static str = "Network.streamResourceContent";
type Response = StreamResourceContentReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetSecurityIsolationStatusParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub frameId: Option<crate::page::FrameId>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetSecurityIsolationStatusReturns {
pub status: SecurityIsolationStatus,
}
impl GetSecurityIsolationStatusParams { pub const METHOD: &'static str = "Network.getSecurityIsolationStatus"; }
impl crate::CdpCommand for GetSecurityIsolationStatusParams {
const METHOD: &'static str = "Network.getSecurityIsolationStatus";
type Response = GetSecurityIsolationStatusReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct EnableReportingApiParams {
pub enable: bool,
}
impl EnableReportingApiParams { pub const METHOD: &'static str = "Network.enableReportingApi"; }
impl crate::CdpCommand for EnableReportingApiParams {
const METHOD: &'static str = "Network.enableReportingApi";
type Response = crate::EmptyReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct EnableDeviceBoundSessionsParams {
pub enable: bool,
}
impl EnableDeviceBoundSessionsParams { pub const METHOD: &'static str = "Network.enableDeviceBoundSessions"; }
impl crate::CdpCommand for EnableDeviceBoundSessionsParams {
const METHOD: &'static str = "Network.enableDeviceBoundSessions";
type Response = crate::EmptyReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct DeleteDeviceBoundSessionParams {
pub key: DeviceBoundSessionKey,
}
impl DeleteDeviceBoundSessionParams { pub const METHOD: &'static str = "Network.deleteDeviceBoundSession"; }
impl crate::CdpCommand for DeleteDeviceBoundSessionParams {
const METHOD: &'static str = "Network.deleteDeviceBoundSession";
type Response = crate::EmptyReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct FetchSchemefulSiteParams {
pub origin: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct FetchSchemefulSiteReturns {
pub schemefulSite: String,
}
impl FetchSchemefulSiteParams { pub const METHOD: &'static str = "Network.fetchSchemefulSite"; }
impl crate::CdpCommand for FetchSchemefulSiteParams {
const METHOD: &'static str = "Network.fetchSchemefulSite";
type Response = FetchSchemefulSiteReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct LoadNetworkResourceParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub frameId: Option<crate::page::FrameId>,
pub url: String,
pub options: LoadNetworkResourceOptions,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct LoadNetworkResourceReturns {
pub resource: LoadNetworkResourcePageResult,
}
impl LoadNetworkResourceParams { pub const METHOD: &'static str = "Network.loadNetworkResource"; }
impl crate::CdpCommand for LoadNetworkResourceParams {
const METHOD: &'static str = "Network.loadNetworkResource";
type Response = LoadNetworkResourceReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetCookieControlsParams {
pub enableThirdPartyCookieRestriction: bool,
}
impl SetCookieControlsParams { pub const METHOD: &'static str = "Network.setCookieControls"; }
impl crate::CdpCommand for SetCookieControlsParams {
const METHOD: &'static str = "Network.setCookieControls";
type Response = crate::EmptyReturns;
}