aboutsummaryrefslogtreecommitdiffstats
path: root/components/net_traits/lib.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/net_traits/lib.rs')
-rw-r--r--components/net_traits/lib.rs19
1 files changed, 17 insertions, 2 deletions
diff --git a/components/net_traits/lib.rs b/components/net_traits/lib.rs
index bd3436d9f00..2cbc198e0f7 100644
--- a/components/net_traits/lib.rs
+++ b/components/net_traits/lib.rs
@@ -170,7 +170,7 @@ pub enum FetchResponseMsg {
ProcessRequestBody,
ProcessRequestEOF,
// todo: send more info about the response (or perhaps the entire Response)
- ProcessResponse(Result<Metadata, NetworkError>),
+ ProcessResponse(Result<FetchMetadata, NetworkError>),
ProcessResponseChunk(Vec<u8>),
ProcessResponseEOF(Result<(), NetworkError>),
}
@@ -200,10 +200,25 @@ pub trait FetchTaskTarget {
fn process_response_eof(&mut self, response: &Response);
}
+#[derive(Serialize, Deserialize)]
+pub enum FilteredMetadata {
+ Opaque,
+ Transparent(Metadata)
+}
+
+#[derive(Serialize, Deserialize)]
+pub enum FetchMetadata {
+ Unfiltered(Metadata),
+ Filtered {
+ filtered: FilteredMetadata,
+ unsafe_: Metadata
+ }
+}
+
pub trait FetchResponseListener {
fn process_request_body(&mut self);
fn process_request_eof(&mut self);
- fn process_response(&mut self, metadata: Result<Metadata, NetworkError>);
+ fn process_response(&mut self, metadata: Result<FetchMetadata, NetworkError>);
fn process_response_chunk(&mut self, chunk: Vec<u8>);
fn process_response_eof(&mut self, response: Result<(), NetworkError>);
}