@@ -72,7 +72,7 @@ pub use error::AsyncHttpRangeReaderError;
7272/// if response.status() == reqwest::StatusCode::NOT_MODIFIED {
7373/// Ok(None)
7474/// } else {
75- /// let reader = AsyncHttpRangeReader::from_head_response(client, response, HeaderMap::default()).await?;
75+ /// let reader = AsyncHttpRangeReader::from_head_response(client, response, url, HeaderMap::default()).await?;
7676/// Ok(Some(reader))
7777/// }
7878/// }
@@ -141,7 +141,7 @@ impl AsyncHttpRangeReader {
141141 /// Construct a new `AsyncHttpRangeReader`.
142142 pub async fn new (
143143 client : impl Into < reqwest_middleware:: ClientWithMiddleware > ,
144- url : reqwest :: Url ,
144+ url : Url ,
145145 check_method : CheckSupportMethod ,
146146 extra_headers : HeaderMap ,
147147 ) -> Result < ( Self , HeaderMap ) , AsyncHttpRangeReaderError > {
@@ -156,15 +156,15 @@ impl AsyncHttpRangeReader {
156156 )
157157 . await ?;
158158 let response_headers = response. headers ( ) . clone ( ) ;
159- let self_ = Self :: from_tail_response ( client, response, extra_headers) . await ?;
159+ let self_ = Self :: from_tail_response ( client, response, url , extra_headers) . await ?;
160160 Ok ( ( self_, response_headers) )
161161 }
162162 CheckSupportMethod :: Head => {
163163 let response =
164164 Self :: initial_head_request ( client. clone ( ) , url. clone ( ) , HeaderMap :: default ( ) )
165165 . await ?;
166166 let response_headers = response. headers ( ) . clone ( ) ;
167- let self_ = Self :: from_head_response ( client, response, extra_headers) . await ?;
167+ let self_ = Self :: from_head_response ( client, response, url , extra_headers) . await ?;
168168 Ok ( ( self_, response_headers) )
169169 }
170170 }
@@ -200,6 +200,7 @@ impl AsyncHttpRangeReader {
200200 pub async fn from_tail_response (
201201 client : impl Into < reqwest_middleware:: ClientWithMiddleware > ,
202202 tail_request_response : Response ,
203+ url : Url ,
203204 extra_headers : HeaderMap ,
204205 ) -> Result < Self , AsyncHttpRangeReaderError > {
205206 let client = client. into ( ) ;
@@ -245,7 +246,7 @@ impl AsyncHttpRangeReader {
245246 let ( state_tx, state_rx) = watch:: channel ( StreamerState :: default ( ) ) ;
246247 tokio:: spawn ( run_streamer (
247248 client,
248- tail_request_response . url ( ) . clone ( ) ,
249+ url,
249250 extra_headers,
250251 Some ( ( tail_request_response, start) ) ,
251252 memory_map,
@@ -300,6 +301,7 @@ impl AsyncHttpRangeReader {
300301 pub async fn from_head_response (
301302 client : impl Into < reqwest_middleware:: ClientWithMiddleware > ,
302303 head_response : Response ,
304+ url : Url ,
303305 extra_headers : HeaderMap ,
304306 ) -> Result < Self , AsyncHttpRangeReaderError > {
305307 let client = client. into ( ) ;
@@ -345,7 +347,7 @@ impl AsyncHttpRangeReader {
345347 let ( state_tx, state_rx) = watch:: channel ( StreamerState :: default ( ) ) ;
346348 tokio:: spawn ( run_streamer (
347349 client,
348- head_response . url ( ) . clone ( ) ,
350+ url,
349351 extra_headers,
350352 None ,
351353 memory_map,
@@ -730,7 +732,7 @@ mod test {
730732 ) ;
731733
732734 // Prefetch the data for the metadata.json file
733- let entry = reader. file ( ) . entries ( ) . get ( 0 ) . unwrap ( ) ;
735+ let entry = reader. file ( ) . entries ( ) . first ( ) . unwrap ( ) ;
734736 let offset = entry. header_offset ( ) ;
735737 // Get the size of the entry plus the header + size of the filename. We should also actually
736738 // include bytes for the extra fields but we don't have that information.
0 commit comments