From f7148bd9107babd058222b02a9153c0f3a59b8de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Mon, 14 Nov 2016 20:57:54 +0200 Subject: [PATCH] Port HTTP source from hyper to reqwest --- Cargo.toml | 2 +- src/lib.rs | 2 +- src/rshttpsrc.rs | 19 +++++++++---------- 3 files changed, 11 insertions(+), 12 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index bd0e37c2..0c8bdd3d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -9,8 +9,8 @@ license = "LGPL-2.1+" [dependencies] libc = "0.2" url = "1.1" -hyper = "0.9" bitflags = "0.7" +reqwest = { git = "https://github.com/sdroege/reqwest.git"} [build-dependencies] gcc = "0.3" diff --git a/src/lib.rs b/src/lib.rs index c3df02ab..e64da8c3 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -20,7 +20,7 @@ extern crate libc; extern crate url; -extern crate hyper; +extern crate reqwest; #[macro_use] extern crate bitflags; diff --git a/src/rshttpsrc.rs b/src/rshttpsrc.rs index bda289da..b42c24f5 100644 --- a/src/rshttpsrc.rs +++ b/src/rshttpsrc.rs @@ -18,10 +18,9 @@ use std::u64; use std::io::Read; use url::Url; -use hyper::header::{ContentLength, ContentRange, ContentRangeSpec, Range, ByteRangeSpec, - AcceptRanges, RangeUnit}; -use hyper::client::Client; -use hyper::client::response::Response; +use reqwest::{Client, Response}; +use reqwest::header::{ContentLength, ContentRange, ContentRangeSpec, Range, ByteRangeSpec, + AcceptRanges, RangeUnit}; use error::*; use rssource::*; @@ -51,7 +50,7 @@ impl HttpSrc { pub fn new() -> HttpSrc { HttpSrc { streaming_state: StreamingState::Stopped, - client: Client::new(), + client: Client::new().unwrap(), } } @@ -80,18 +79,18 @@ impl HttpSrc { ["Failed to fetch {}: {}", uri, err.to_string()])) })); - if !response.status.is_success() { + if !response.status().is_success() { return Err(error_msg!(SourceError::ReadFailed, - ["Failed to fetch {}: {}", uri, response.status])); + ["Failed to fetch {}: {}", uri, response.status()])); } - let size = if let Some(&ContentLength(content_length)) = response.headers.get() { + let size = if let Some(&ContentLength(content_length)) = response.headers().get() { Some(content_length + start) } else { None }; - let accept_byte_ranges = if let Some(&AcceptRanges(ref ranges)) = response.headers + let accept_byte_ranges = if let Some(&AcceptRanges(ref ranges)) = response.headers() .get() { ranges.iter().any(|u| *u == RangeUnit::Bytes) } else { @@ -102,7 +101,7 @@ impl HttpSrc { let position = if let Some(&ContentRange(ContentRangeSpec::Bytes { range: Some((range_start, _)), - .. })) = response.headers + .. })) = response.headers() .get() { range_start } else {