File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -1136,12 +1136,18 @@ fn parse_range(range: &str) -> (u64, u64) {
11361136/// Verify the Authorization header
11371137/// Return error message + owner if the token is correct
11381138fn verify_auth_hdr ( headers : & HeaderMap ) -> Result < String , Option < String > > {
1139- let auth = headers. get ( "Authorization" ) ;
1140- if auth == None {
1139+ let auth = match headers. get ( "Authorization" ) {
1140+ Some ( auth) => auth,
1141+ None => return Err ( None ) ,
1142+ } ;
1143+ let auth_str = match auth. to_str ( ) {
1144+ Ok ( s) => s,
1145+ Err ( _) => return Err ( None ) ,
1146+ } ;
1147+ let token_parts: Vec < & str > = auth_str. split_whitespace ( ) . collect ( ) ;
1148+ if token_parts. is_empty ( ) {
11411149 return Err ( None ) ;
11421150 }
1143- let token = auth. unwrap ( ) . to_str ( ) . unwrap ( ) . split_whitespace ( ) ;
1144- let token_parts: Vec < & str > = token. collect ( ) ;
11451151 if token_parts. len ( ) != 2 {
11461152 let verif_result = storjwt:: verify_jwt_token ( token_parts[ 0 ] ) ;
11471153 let bmap = match verif_result {
You can’t perform that action at this time.
0 commit comments