diff options
-rw-r--r-- | components/net/http_loader.rs | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/components/net/http_loader.rs b/components/net/http_loader.rs index 728435b3179..bc2a74cafca 100644 --- a/components/net/http_loader.rs +++ b/components/net/http_loader.rs @@ -331,8 +331,16 @@ reason: \"certificate verify failed\" }]"; match encoding_str { Some(encoding) => { if encoding == "gzip" { - let mut response_decoding = GzDecoder::new(response).unwrap(); - send_data(&mut response_decoding, start_chan, metadata, classifier); + let result = GzDecoder::new(response); + match result { + Ok(mut response_decoding) => { + send_data(&mut response_decoding, start_chan, metadata, classifier); + } + Err(err) => { + send_error(metadata.final_url, err.to_string(), start_chan); + return; + } + } } else if encoding == "deflate" { let mut response_decoding = DeflateDecoder::new(response); send_data(&mut response_decoding, start_chan, metadata, classifier); |