1use serde::{Deserialize, Serialize};
2#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3pub struct AddDataCollectorParams {
4 #[serde(rename = "dataTypes")]
5 #[serde(skip_serializing_if = "Vec::is_empty")]
6 pub data_types: Vec<super::types::DataType>,
7 #[serde(rename = "maxEncodedDataSize")]
8 pub max_encoded_data_size: u64,
9 #[serde(rename = "collectorType")]
10 #[serde(skip_serializing_if = "Option::is_none")]
11 #[serde(default)]
12 pub collector_type: Option<super::types::CollectorType>,
13 #[serde(rename = "contexts")]
14 #[serde(skip_serializing_if = "Option::is_none")]
15 #[serde(default)]
16 pub contexts: Option<Vec<crate::browsing_context::types::BrowsingContext>>,
17 #[serde(rename = "userContexts")]
18 #[serde(skip_serializing_if = "Option::is_none")]
19 #[serde(default)]
20 pub user_contexts: Option<Vec<crate::browser::types::UserContext>>,
21}
22impl AddDataCollectorParams {
23 pub fn new(
24 data_types: Vec<super::types::DataType>,
25 max_encoded_data_size: impl Into<u64>,
26 ) -> Self {
27 Self {
28 data_types,
29 max_encoded_data_size: max_encoded_data_size.into(),
30 collector_type: None,
31 contexts: None,
32 user_contexts: None,
33 }
34 }
35}
36#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
37pub enum AddDataCollectorMethod {
38 #[serde(rename = "network.addDataCollector")]
39 AddDataCollector,
40}
41#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
42pub struct AddDataCollector {
43 pub method: AddDataCollectorMethod,
44 pub params: AddDataCollectorParams,
45}
46impl AddDataCollector {
47 pub const IDENTIFIER: &'static str = "network.addDataCollector";
48 pub const DOMAIN_DIRECTION: &'static str = "remote";
49 pub fn identifier(&self) -> &'static str {
50 Self::IDENTIFIER
51 }
52}
53impl crate::CommandResult for AddDataCollector {
54 type Result = super::results::AddDataCollectorResult;
55}
56#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
57pub struct AddInterceptParams {
58 #[serde(rename = "phases")]
59 #[serde(skip_serializing_if = "Vec::is_empty")]
60 pub phases: Vec<super::types::InterceptPhase>,
61 #[serde(rename = "contexts")]
62 #[serde(skip_serializing_if = "Option::is_none")]
63 #[serde(default)]
64 pub contexts: Option<Vec<crate::browsing_context::types::BrowsingContext>>,
65 #[serde(rename = "urlPatterns")]
66 #[serde(skip_serializing_if = "Option::is_none")]
67 #[serde(default)]
68 pub url_patterns: Option<Vec<super::types::UrlPattern>>,
69}
70impl AddInterceptParams {
71 pub fn new(phases: Vec<super::types::InterceptPhase>) -> Self {
72 Self {
73 phases,
74 contexts: None,
75 url_patterns: None,
76 }
77 }
78}
79#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
80pub enum AddInterceptMethod {
81 #[serde(rename = "network.addIntercept")]
82 AddIntercept,
83}
84#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
85pub struct AddIntercept {
86 pub method: AddInterceptMethod,
87 pub params: AddInterceptParams,
88}
89impl AddIntercept {
90 pub const IDENTIFIER: &'static str = "network.addIntercept";
91 pub const DOMAIN_DIRECTION: &'static str = "remote";
92 pub fn identifier(&self) -> &'static str {
93 Self::IDENTIFIER
94 }
95}
96impl crate::CommandResult for AddIntercept {
97 type Result = super::results::AddInterceptResult;
98}
99#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
100pub struct ContinueRequestParams {
101 #[serde(rename = "request")]
102 pub request: super::types::Request,
103 #[serde(rename = "body")]
104 #[serde(skip_serializing_if = "Option::is_none")]
105 #[serde(default)]
106 pub body: Option<super::types::BytesValue>,
107 #[serde(rename = "cookies")]
108 #[serde(skip_serializing_if = "Option::is_none")]
109 #[serde(default)]
110 pub cookies: Option<Vec<super::types::CookieHeader>>,
111 #[serde(rename = "headers")]
112 #[serde(skip_serializing_if = "Option::is_none")]
113 #[serde(default)]
114 pub headers: Option<Vec<super::types::Header>>,
115 #[serde(rename = "method")]
116 #[serde(skip_serializing_if = "Option::is_none")]
117 #[serde(default)]
118 pub method: Option<String>,
119 #[serde(rename = "url")]
120 #[serde(skip_serializing_if = "Option::is_none")]
121 #[serde(default)]
122 pub url: Option<String>,
123}
124impl ContinueRequestParams {
125 pub fn new(request: impl Into<super::types::Request>) -> Self {
126 Self {
127 request: request.into(),
128 body: None,
129 cookies: None,
130 headers: None,
131 method: None,
132 url: None,
133 }
134 }
135}
136#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
137pub enum ContinueRequestMethod {
138 #[serde(rename = "network.continueRequest")]
139 ContinueRequest,
140}
141#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
142pub struct ContinueRequest {
143 pub method: ContinueRequestMethod,
144 pub params: ContinueRequestParams,
145}
146impl ContinueRequest {
147 pub const IDENTIFIER: &'static str = "network.continueRequest";
148 pub const DOMAIN_DIRECTION: &'static str = "remote";
149 pub fn identifier(&self) -> &'static str {
150 Self::IDENTIFIER
151 }
152}
153impl crate::CommandResult for ContinueRequest {
154 type Result = super::results::ContinueRequestResult;
155}
156#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
157pub struct ContinueResponseParams {
158 #[serde(rename = "request")]
159 pub request: super::types::Request,
160 #[serde(rename = "cookies")]
161 #[serde(skip_serializing_if = "Option::is_none")]
162 #[serde(default)]
163 pub cookies: Option<Vec<super::types::SetCookieHeader>>,
164 #[serde(rename = "credentials")]
165 #[serde(skip_serializing_if = "Option::is_none")]
166 #[serde(default)]
167 pub credentials: Option<super::types::AuthCredentials>,
168 #[serde(rename = "headers")]
169 #[serde(skip_serializing_if = "Option::is_none")]
170 #[serde(default)]
171 pub headers: Option<Vec<super::types::Header>>,
172 #[serde(rename = "reasonPhrase")]
173 #[serde(skip_serializing_if = "Option::is_none")]
174 #[serde(default)]
175 pub reason_phrase: Option<String>,
176 #[serde(rename = "statusCode")]
177 #[serde(skip_serializing_if = "Option::is_none")]
178 #[serde(default)]
179 pub status_code: Option<u64>,
180}
181impl ContinueResponseParams {
182 pub fn new(request: impl Into<super::types::Request>) -> Self {
183 Self {
184 request: request.into(),
185 cookies: None,
186 credentials: None,
187 headers: None,
188 reason_phrase: None,
189 status_code: None,
190 }
191 }
192}
193#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
194pub enum ContinueResponseMethod {
195 #[serde(rename = "network.continueResponse")]
196 ContinueResponse,
197}
198#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
199pub struct ContinueResponse {
200 pub method: ContinueResponseMethod,
201 pub params: ContinueResponseParams,
202}
203impl ContinueResponse {
204 pub const IDENTIFIER: &'static str = "network.continueResponse";
205 pub const DOMAIN_DIRECTION: &'static str = "remote";
206 pub fn identifier(&self) -> &'static str {
207 Self::IDENTIFIER
208 }
209}
210impl crate::CommandResult for ContinueResponse {
211 type Result = super::results::ContinueResponseResult;
212}
213#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
214pub struct ContinueWithAuthParams {
215 #[serde(rename = "request")]
216 pub request: super::types::Request,
217 #[serde(flatten)]
218 #[serde(default)]
219 pub continue_with_auth_credentials_continue_with_auth_no_credentials_union:
220 super::types::ContinueWithAuthCredentialsContinueWithAuthNoCredentialsUnion,
221}
222impl ContinueWithAuthParams {
223 pub fn new(
224 request: impl Into<super::types::Request>,
225 continue_with_auth_credentials_continue_with_auth_no_credentials_union: impl Into<
226 super::types::ContinueWithAuthCredentialsContinueWithAuthNoCredentialsUnion,
227 >,
228 ) -> Self {
229 Self {
230 request: request.into(),
231 continue_with_auth_credentials_continue_with_auth_no_credentials_union:
232 continue_with_auth_credentials_continue_with_auth_no_credentials_union.into(),
233 }
234 }
235}
236#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
237pub enum ContinueWithAuthMethod {
238 #[serde(rename = "network.continueWithAuth")]
239 ContinueWithAuth,
240}
241#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
242pub struct ContinueWithAuth {
243 pub method: ContinueWithAuthMethod,
244 pub params: ContinueWithAuthParams,
245}
246impl ContinueWithAuth {
247 pub const IDENTIFIER: &'static str = "network.continueWithAuth";
248 pub const DOMAIN_DIRECTION: &'static str = "remote";
249 pub fn identifier(&self) -> &'static str {
250 Self::IDENTIFIER
251 }
252}
253impl crate::CommandResult for ContinueWithAuth {
254 type Result = super::results::ContinueWithAuthResult;
255}
256#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
257pub struct DisownDataParams {
258 #[serde(rename = "dataType")]
259 pub data_type: super::types::DataType,
260 #[serde(rename = "collector")]
261 pub collector: super::types::Collector,
262 #[serde(rename = "request")]
263 pub request: super::types::Request,
264}
265impl DisownDataParams {
266 pub fn new(
267 data_type: impl Into<super::types::DataType>,
268 collector: impl Into<super::types::Collector>,
269 request: impl Into<super::types::Request>,
270 ) -> Self {
271 Self {
272 data_type: data_type.into(),
273 collector: collector.into(),
274 request: request.into(),
275 }
276 }
277}
278#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
279pub enum DisownDataMethod {
280 #[serde(rename = "network.disownData")]
281 DisownData,
282}
283#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
284pub struct DisownData {
285 pub method: DisownDataMethod,
286 pub params: DisownDataParams,
287}
288impl DisownData {
289 pub const IDENTIFIER: &'static str = "network.disownData";
290 pub const DOMAIN_DIRECTION: &'static str = "remote";
291 pub fn identifier(&self) -> &'static str {
292 Self::IDENTIFIER
293 }
294}
295impl crate::CommandResult for DisownData {
296 type Result = super::results::DisownDataResult;
297}
298#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
299pub struct FailRequestParams {
300 #[serde(rename = "request")]
301 pub request: super::types::Request,
302}
303impl FailRequestParams {
304 pub fn new(request: impl Into<super::types::Request>) -> Self {
305 Self {
306 request: request.into(),
307 }
308 }
309}
310#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
311pub enum FailRequestMethod {
312 #[serde(rename = "network.failRequest")]
313 FailRequest,
314}
315#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
316pub struct FailRequest {
317 pub method: FailRequestMethod,
318 pub params: FailRequestParams,
319}
320impl FailRequest {
321 pub const IDENTIFIER: &'static str = "network.failRequest";
322 pub const DOMAIN_DIRECTION: &'static str = "remote";
323 pub fn identifier(&self) -> &'static str {
324 Self::IDENTIFIER
325 }
326}
327impl crate::CommandResult for FailRequest {
328 type Result = super::results::FailRequestResult;
329}
330#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
331pub struct GetDataParams {
332 #[serde(rename = "dataType")]
333 pub data_type: super::types::DataType,
334 #[serde(rename = "collector")]
335 #[serde(skip_serializing_if = "Option::is_none")]
336 #[serde(default)]
337 pub collector: Option<super::types::Collector>,
338 #[serde(rename = "disown")]
339 #[serde(skip_serializing_if = "Option::is_none")]
340 #[serde(default = "default_get_data_params_disown")]
341 pub disown: Option<bool>,
342 #[serde(rename = "request")]
343 pub request: super::types::Request,
344}
345fn default_get_data_params_disown() -> Option<bool> {
346 Some(false)
347}
348impl GetDataParams {
349 pub fn new(
350 data_type: impl Into<super::types::DataType>,
351 request: impl Into<super::types::Request>,
352 ) -> Self {
353 Self {
354 data_type: data_type.into(),
355 request: request.into(),
356 collector: None,
357 disown: None,
358 }
359 }
360}
361#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
362pub enum GetDataMethod {
363 #[serde(rename = "network.getData")]
364 GetData,
365}
366#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
367pub struct GetData {
368 pub method: GetDataMethod,
369 pub params: GetDataParams,
370}
371impl GetData {
372 pub const IDENTIFIER: &'static str = "network.getData";
373 pub const DOMAIN_DIRECTION: &'static str = "remote";
374 pub fn identifier(&self) -> &'static str {
375 Self::IDENTIFIER
376 }
377}
378impl crate::CommandResult for GetData {
379 type Result = super::results::GetDataResult;
380}
381#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
382pub struct ProvideResponseParams {
383 #[serde(rename = "request")]
384 pub request: super::types::Request,
385 #[serde(rename = "body")]
386 #[serde(skip_serializing_if = "Option::is_none")]
387 #[serde(default)]
388 pub body: Option<super::types::BytesValue>,
389 #[serde(rename = "cookies")]
390 #[serde(skip_serializing_if = "Option::is_none")]
391 #[serde(default)]
392 pub cookies: Option<Vec<super::types::SetCookieHeader>>,
393 #[serde(rename = "headers")]
394 #[serde(skip_serializing_if = "Option::is_none")]
395 #[serde(default)]
396 pub headers: Option<Vec<super::types::Header>>,
397 #[serde(rename = "reasonPhrase")]
398 #[serde(skip_serializing_if = "Option::is_none")]
399 #[serde(default)]
400 pub reason_phrase: Option<String>,
401 #[serde(rename = "statusCode")]
402 #[serde(skip_serializing_if = "Option::is_none")]
403 #[serde(default)]
404 pub status_code: Option<u64>,
405}
406impl ProvideResponseParams {
407 pub fn new(request: impl Into<super::types::Request>) -> Self {
408 Self {
409 request: request.into(),
410 body: None,
411 cookies: None,
412 headers: None,
413 reason_phrase: None,
414 status_code: None,
415 }
416 }
417}
418#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
419pub enum ProvideResponseMethod {
420 #[serde(rename = "network.provideResponse")]
421 ProvideResponse,
422}
423#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
424pub struct ProvideResponse {
425 pub method: ProvideResponseMethod,
426 pub params: ProvideResponseParams,
427}
428impl ProvideResponse {
429 pub const IDENTIFIER: &'static str = "network.provideResponse";
430 pub const DOMAIN_DIRECTION: &'static str = "remote";
431 pub fn identifier(&self) -> &'static str {
432 Self::IDENTIFIER
433 }
434}
435impl crate::CommandResult for ProvideResponse {
436 type Result = super::results::ProvideResponseResult;
437}
438#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
439pub struct RemoveDataCollectorParams {
440 #[serde(rename = "collector")]
441 pub collector: super::types::Collector,
442}
443impl RemoveDataCollectorParams {
444 pub fn new(collector: impl Into<super::types::Collector>) -> Self {
445 Self {
446 collector: collector.into(),
447 }
448 }
449}
450#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
451pub enum RemoveDataCollectorMethod {
452 #[serde(rename = "network.removeDataCollector")]
453 RemoveDataCollector,
454}
455#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
456pub struct RemoveDataCollector {
457 pub method: RemoveDataCollectorMethod,
458 pub params: RemoveDataCollectorParams,
459}
460impl RemoveDataCollector {
461 pub const IDENTIFIER: &'static str = "network.removeDataCollector";
462 pub const DOMAIN_DIRECTION: &'static str = "remote";
463 pub fn identifier(&self) -> &'static str {
464 Self::IDENTIFIER
465 }
466}
467impl crate::CommandResult for RemoveDataCollector {
468 type Result = super::results::RemoveDataCollectorResult;
469}
470#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
471pub struct RemoveInterceptParams {
472 #[serde(rename = "intercept")]
473 pub intercept: super::types::Intercept,
474}
475impl RemoveInterceptParams {
476 pub fn new(intercept: impl Into<super::types::Intercept>) -> Self {
477 Self {
478 intercept: intercept.into(),
479 }
480 }
481}
482#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
483pub enum RemoveInterceptMethod {
484 #[serde(rename = "network.removeIntercept")]
485 RemoveIntercept,
486}
487#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
488pub struct RemoveIntercept {
489 pub method: RemoveInterceptMethod,
490 pub params: RemoveInterceptParams,
491}
492impl RemoveIntercept {
493 pub const IDENTIFIER: &'static str = "network.removeIntercept";
494 pub const DOMAIN_DIRECTION: &'static str = "remote";
495 pub fn identifier(&self) -> &'static str {
496 Self::IDENTIFIER
497 }
498}
499impl crate::CommandResult for RemoveIntercept {
500 type Result = super::results::RemoveInterceptResult;
501}
502#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
503pub struct SetCacheBehaviorParams {
504 #[serde(rename = "cacheBehavior")]
505 pub cache_behavior: SetCacheBehaviorCacheBehavior,
506 #[serde(rename = "contexts")]
507 #[serde(skip_serializing_if = "Option::is_none")]
508 #[serde(default)]
509 pub contexts: Option<Vec<crate::browsing_context::types::BrowsingContext>>,
510}
511#[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
512pub enum SetCacheBehaviorCacheBehavior {
513 #[serde(rename = "default")]
514 Default,
515 #[serde(rename = "bypass")]
516 Bypass,
517}
518impl SetCacheBehaviorParams {
519 pub fn new(cache_behavior: impl Into<SetCacheBehaviorCacheBehavior>) -> Self {
520 Self {
521 cache_behavior: cache_behavior.into(),
522 contexts: None,
523 }
524 }
525}
526#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
527pub enum SetCacheBehaviorMethod {
528 #[serde(rename = "network.setCacheBehavior")]
529 SetCacheBehavior,
530}
531#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
532pub struct SetCacheBehavior {
533 pub method: SetCacheBehaviorMethod,
534 pub params: SetCacheBehaviorParams,
535}
536impl SetCacheBehavior {
537 pub const IDENTIFIER: &'static str = "network.setCacheBehavior";
538 pub const DOMAIN_DIRECTION: &'static str = "remote";
539 pub fn identifier(&self) -> &'static str {
540 Self::IDENTIFIER
541 }
542}
543impl crate::CommandResult for SetCacheBehavior {
544 type Result = super::results::SetCacheBehaviorResult;
545}
546#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
547pub struct SetExtraHeadersParams {
548 #[serde(rename = "headers")]
549 #[serde(skip_serializing_if = "Vec::is_empty")]
550 pub headers: Vec<super::types::Header>,
551 #[serde(rename = "contexts")]
552 #[serde(skip_serializing_if = "Option::is_none")]
553 #[serde(default)]
554 pub contexts: Option<Vec<crate::browsing_context::types::BrowsingContext>>,
555 #[serde(rename = "userContexts")]
556 #[serde(skip_serializing_if = "Option::is_none")]
557 #[serde(default)]
558 pub user_contexts: Option<Vec<crate::browser::types::UserContext>>,
559}
560impl SetExtraHeadersParams {
561 pub fn new(headers: Vec<super::types::Header>) -> Self {
562 Self {
563 headers,
564 contexts: None,
565 user_contexts: None,
566 }
567 }
568}
569#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
570pub enum SetExtraHeadersMethod {
571 #[serde(rename = "network.setExtraHeaders")]
572 SetExtraHeaders,
573}
574#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
575pub struct SetExtraHeaders {
576 pub method: SetExtraHeadersMethod,
577 pub params: SetExtraHeadersParams,
578}
579impl SetExtraHeaders {
580 pub const IDENTIFIER: &'static str = "network.setExtraHeaders";
581 pub const DOMAIN_DIRECTION: &'static str = "remote";
582 pub fn identifier(&self) -> &'static str {
583 Self::IDENTIFIER
584 }
585}
586impl crate::CommandResult for SetExtraHeaders {
587 type Result = super::results::SetExtraHeadersResult;
588}
589group_enum ! (NetworkCommand { AddDataCollector (AddDataCollector) , AddIntercept (AddIntercept) , ContinueRequest (ContinueRequest) , ContinueResponse (ContinueResponse) , ContinueWithAuth (ContinueWithAuth) , DisownData (DisownData) , FailRequest (FailRequest) , GetData (GetData) , ProvideResponse (ProvideResponse) , RemoveDataCollector (RemoveDataCollector) , RemoveIntercept (RemoveIntercept) , SetCacheBehavior (SetCacheBehavior) , SetExtraHeaders (SetExtraHeaders) } + identifiable);