browser_protocol/cachestorage/
mod.rs1use serde::{Serialize, Deserialize};
2
3pub type CacheId = String;
6
7#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
10pub enum CachedResponseType {
11 #[default]
12 Basic,
13 Cors,
14 Default,
15 Error,
16 OpaqueResponse,
17 OpaqueRedirect,
18}
19
20#[derive(Debug, Clone, Serialize, Deserialize, Default)]
23#[serde(rename_all = "camelCase")]
24pub struct DataEntry {
25 pub requestURL: String,
28 pub requestMethod: String,
31 pub requestHeaders: Vec<Header>,
34 pub responseTime: f64,
37 pub responseStatus: i64,
40 pub responseStatusText: String,
43 pub responseType: CachedResponseType,
46 pub responseHeaders: Vec<Header>,
49}
50
51#[derive(Debug, Clone, Serialize, Deserialize, Default)]
54#[serde(rename_all = "camelCase")]
55pub struct Cache {
56 pub cacheId: CacheId,
59 pub securityOrigin: String,
62 pub storageKey: String,
65 #[serde(skip_serializing_if = "Option::is_none")]
68 pub storageBucket: Option<crate::storage::StorageBucket>,
69 pub cacheName: String,
72}
73
74
75#[derive(Debug, Clone, Serialize, Deserialize, Default)]
76#[serde(rename_all = "camelCase")]
77pub struct Header {
78
79 pub name: String,
80
81 pub value: String,
82}
83
84#[derive(Debug, Clone, Serialize, Deserialize, Default)]
87#[serde(rename_all = "camelCase")]
88pub struct CachedResponse {
89 pub body: String,
92}
93
94#[derive(Debug, Clone, Serialize, Deserialize, Default)]
97#[serde(rename_all = "camelCase")]
98pub struct DeleteCacheParams {
99 pub cacheId: CacheId,
102}
103
104#[derive(Debug, Clone, Serialize, Deserialize, Default)]
107#[serde(rename_all = "camelCase")]
108pub struct DeleteEntryParams {
109 pub cacheId: CacheId,
112 pub request: String,
115}
116
117#[derive(Debug, Clone, Serialize, Deserialize, Default)]
120#[serde(rename_all = "camelCase")]
121pub struct RequestCacheNamesParams {
122 #[serde(skip_serializing_if = "Option::is_none")]
126 pub securityOrigin: Option<String>,
127 #[serde(skip_serializing_if = "Option::is_none")]
130 pub storageKey: Option<String>,
131 #[serde(skip_serializing_if = "Option::is_none")]
134 pub storageBucket: Option<crate::storage::StorageBucket>,
135}
136
137#[derive(Debug, Clone, Serialize, Deserialize, Default)]
140#[serde(rename_all = "camelCase")]
141pub struct RequestCacheNamesReturns {
142 pub caches: Vec<Cache>,
145}
146
147#[derive(Debug, Clone, Serialize, Deserialize, Default)]
150#[serde(rename_all = "camelCase")]
151pub struct RequestCachedResponseParams {
152 pub cacheId: CacheId,
155 pub requestURL: String,
158 pub requestHeaders: Vec<Header>,
161}
162
163#[derive(Debug, Clone, Serialize, Deserialize, Default)]
166#[serde(rename_all = "camelCase")]
167pub struct RequestCachedResponseReturns {
168 pub response: CachedResponse,
171}
172
173#[derive(Debug, Clone, Serialize, Deserialize, Default)]
176#[serde(rename_all = "camelCase")]
177pub struct RequestEntriesParams {
178 pub cacheId: CacheId,
181 #[serde(skip_serializing_if = "Option::is_none")]
184 pub skipCount: Option<u64>,
185 #[serde(skip_serializing_if = "Option::is_none")]
188 pub pageSize: Option<u64>,
189 #[serde(skip_serializing_if = "Option::is_none")]
192 pub pathFilter: Option<String>,
193}
194
195#[derive(Debug, Clone, Serialize, Deserialize, Default)]
198#[serde(rename_all = "camelCase")]
199pub struct RequestEntriesReturns {
200 pub cacheDataEntries: Vec<DataEntry>,
203 pub returnCount: f64,
207}