@@ -116,7 +116,12 @@ impl CASAPIClient {
116116
117117 pub async fn exists ( & self , key : & Key ) -> Result < bool > {
118118 let url = Url :: parse ( & format ! ( "{}/xorb/{key}" , self . endpoint) ) ?;
119- let response = self . client . head ( url) . send ( ) . await ?;
119+ let response = self
120+ . client
121+ . head ( url)
122+ . headers ( self . request_headers ( ) )
123+ . send ( )
124+ . await ?;
120125 match response. status ( ) {
121126 StatusCode :: OK => Ok ( true ) ,
122127 StatusCode :: NOT_FOUND => Ok ( false ) ,
@@ -128,7 +133,12 @@ impl CASAPIClient {
128133
129134 pub async fn get_length ( & self , key : & Key ) -> Result < Option < u64 > > {
130135 let url = Url :: parse ( & format ! ( "{}/xorb/{key}" , self . endpoint) ) ?;
131- let response = self . client . head ( url) . send ( ) . await ?;
136+ let response = self
137+ . client
138+ . head ( url)
139+ . headers ( self . request_headers ( ) )
140+ . send ( )
141+ . await ?;
132142 let status = response. status ( ) ;
133143 if status == StatusCode :: NOT_FOUND {
134144 return Ok ( None ) ;
@@ -179,7 +189,13 @@ impl CASAPIClient {
179189 writer. set_position ( 0 ) ;
180190 let data = writer. into_inner ( ) ;
181191
182- let response = self . client . post ( url) . body ( data) . send ( ) . await ?;
192+ let response = self
193+ . client
194+ . post ( url)
195+ . headers ( self . request_headers ( ) )
196+ . body ( data)
197+ . send ( )
198+ . await ?;
183199 let response_body = response. bytes ( ) . await ?;
184200 let response_parsed: UploadXorbResponse = serde_json:: from_reader ( response_body. reader ( ) ) ?;
185201
@@ -231,15 +247,12 @@ impl CASAPIClient {
231247 file_id. hex( )
232248 ) ) ?;
233249
234- let mut headers = HeaderMap :: new ( ) ;
235- if let Some ( tok) = & self . token {
236- headers. insert (
237- "Authorization" ,
238- HeaderValue :: from_str ( & format ! ( "Bearer {}" , tok) ) . unwrap ( ) ,
239- ) ;
240- }
241-
242- let response = self . client . get ( url) . headers ( headers) . send ( ) . await ?;
250+ let response = self
251+ . client
252+ . get ( url)
253+ . headers ( self . request_headers ( ) )
254+ . send ( )
255+ . await ?;
243256 let response_body = response. bytes ( ) . await ?;
244257 let response_parsed: QueryReconstructionResponse =
245258 serde_json:: from_reader ( response_body. reader ( ) ) ?;
@@ -249,13 +262,29 @@ impl CASAPIClient {
249262
250263 pub async fn shard_query_chunk ( & self , key : & Key ) -> Result < QueryChunkResponse > {
251264 let url = Url :: parse ( & format ! ( "{}/chunk/{key}" , self . endpoint) ) ?;
252- let response = self . client . get ( url) . send ( ) . await ?;
265+ let response = self
266+ . client
267+ . get ( url)
268+ . headers ( self . request_headers ( ) )
269+ . send ( )
270+ . await ?;
253271 let response_body = response. bytes ( ) . await ?;
254272 let response_parsed: QueryChunkResponse = serde_json:: from_reader ( response_body. reader ( ) ) ?;
255273
256274 Ok ( response_parsed)
257275 }
258276
277+ fn request_headers ( & self ) -> HeaderMap {
278+ let mut headers = HeaderMap :: new ( ) ;
279+ if let Some ( tok) = & self . token {
280+ headers. insert (
281+ "Authorization" ,
282+ HeaderValue :: from_str ( & format ! ( "Bearer {}" , tok) ) . unwrap ( ) ,
283+ ) ;
284+ }
285+ headers
286+ }
287+
259288 async fn post_json < ReqT , RespT > ( & self , url : Url , request_body : & ReqT ) -> Result < RespT >
260289 where
261290 ReqT : Serialize ,
0 commit comments