From 6af63d6af12725d60456f407d4099aadaf1c55c9 Mon Sep 17 00:00:00 2001 From: Ms2ger Date: Thu, 20 Oct 2016 08:13:08 +0200 Subject: [PATCH] Make the status handling in http_fetch more robust. --- components/net/fetch/methods.rs | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/components/net/fetch/methods.rs b/components/net/fetch/methods.rs index 0d5b2d2835e..7b20d635371 100644 --- a/components/net/fetch/methods.rs +++ b/components/net/fetch/methods.rs @@ -589,10 +589,13 @@ fn http_fetch(request: Rc, let mut response = response.unwrap(); // Step 5 - match response.actual_response().status.unwrap() { + match response.actual_response().status { // Code 301, 302, 303, 307, 308 - StatusCode::MovedPermanently | StatusCode::Found | StatusCode::SeeOther | - StatusCode::TemporaryRedirect | StatusCode::PermanentRedirect => { + Some(StatusCode::MovedPermanently) | + Some(StatusCode::Found) | + Some(StatusCode::SeeOther) | + Some(StatusCode::TemporaryRedirect) | + Some(StatusCode::PermanentRedirect) => { response = match request.redirect_mode.get() { RedirectMode::Error => Response::network_error(), RedirectMode::Manual => { @@ -608,7 +611,7 @@ fn http_fetch(request: Rc, }, // Code 401 - StatusCode::Unauthorized => { + Some(StatusCode::Unauthorized) => { // Step 1 // FIXME: Figure out what to do with request window objects if cors_flag || !credentials { @@ -633,7 +636,7 @@ fn http_fetch(request: Rc, } // Code 407 - StatusCode::ProxyAuthenticationRequired => { + Some(StatusCode::ProxyAuthenticationRequired) => { // Step 1 // TODO: Figure out what to do with request window objects