use serde::{Serialize, Deserialize};
pub type RequestId = String;
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub enum RequestStage {
#[default]
Request,
Response,
}
#[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<crate::network::ResourceType>,
#[serde(skip_serializing_if = "Option::is_none")]
pub requestStage: Option<RequestStage>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct HeaderEntry {
pub name: String,
pub value: String,
}
#[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, Default)]
#[serde(rename_all = "camelCase")]
pub struct EnableParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub patterns: Option<Vec<RequestPattern>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub handleAuthRequests: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct FailRequestParams {
pub requestId: RequestId,
pub errorReason: crate::network::ErrorReason,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct FulfillRequestParams {
pub requestId: RequestId,
pub responseCode: i64,
#[serde(skip_serializing_if = "Option::is_none")]
pub responseHeaders: Option<Vec<HeaderEntry>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub binaryResponseHeaders: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub body: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub responsePhrase: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct ContinueRequestParams {
pub requestId: RequestId,
#[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<Vec<HeaderEntry>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub interceptResponse: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct ContinueWithAuthParams {
pub requestId: RequestId,
pub authChallengeResponse: AuthChallengeResponse,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct ContinueResponseParams {
pub requestId: RequestId,
#[serde(skip_serializing_if = "Option::is_none")]
pub responseCode: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub responsePhrase: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub responseHeaders: Option<Vec<HeaderEntry>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub binaryResponseHeaders: Option<String>,
}
#[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,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct TakeResponseBodyAsStreamParams {
pub requestId: RequestId,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct TakeResponseBodyAsStreamReturns {
pub stream: crate::io::StreamHandle,
}