diff options
Diffstat (limited to 'components/net_traits/lib.rs')
-rw-r--r-- | components/net_traits/lib.rs | 19 |
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>); } |