From e10d3889b79dbe128b2fc806bf2293e58ba3b37f Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Wed, 4 Sep 2013 12:40:56 -0700 Subject: [PATCH] Fix logic in http_loader We don't need to repeatedly read the headers, and need to send the Done message. --- src/components/net/http_loader.rs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/components/net/http_loader.rs b/src/components/net/http_loader.rs index 994a1dc6cb6..a929c94ba4a 100644 --- a/src/components/net/http_loader.rs +++ b/src/components/net/http_loader.rs @@ -37,12 +37,13 @@ fn load(url: Url, progress_chan: Chan) { } }; - loop { - for header in response.headers.iter() { - info!(" - %s: %s", header.header_name(), header.header_value()); - } + for header in response.headers.iter() { + info!(" - %s: %s", header.header_name(), header.header_value()); + } + loop { let mut buf = vec::with_capacity(1024); + unsafe { vec::raw::set_len(&mut buf, 1024) }; match response.read(buf) { Some(len) => { @@ -55,6 +56,7 @@ fn load(url: Url, progress_chan: Chan) { } progress_chan.send(Payload(buf)); } + progress_chan.send(Done(Ok(()))); } // FIXME: Quick hack to convert ip addresses to SocketAddr