fix(rustup): update FromStr
Signed-off-by: Peter Atashian <retep998@gmail.com>
This commit is contained in:
		
				
					committed by
					
						 Sean McArthur
						Sean McArthur
					
				
			
			
				
	
			
			
			
						parent
						
							c983ebf3ce
						
					
				
				
					commit
					742081c8cf
				
			| @@ -32,9 +32,9 @@ impl<S: Scheme> Header for Authorization<S> { | ||||
|             match (from_utf8(unsafe { &raw[].get_unchecked(0)[] }), Scheme::scheme(None::<S>)) { | ||||
|                 (Ok(header), Some(scheme)) | ||||
|                     if header.starts_with(scheme) && header.len() > scheme.len() + 1 => { | ||||
|                     header[scheme.len() + 1..].parse::<S>().map(|s| Authorization(s)) | ||||
|                     header[scheme.len() + 1..].parse::<S>().map(|s| Authorization(s)).ok() | ||||
|                 }, | ||||
|                 (Ok(header), None) => header.parse::<S>().map(|s| Authorization(s)), | ||||
|                 (Ok(header), None) => header.parse::<S>().map(|s| Authorization(s)).ok(), | ||||
|                 _ => None | ||||
|             } | ||||
|         } else { | ||||
| @@ -108,32 +108,33 @@ impl Scheme for Basic { | ||||
| } | ||||
|  | ||||
| impl FromStr for Basic { | ||||
|     fn from_str(s: &str) -> Option<Basic> { | ||||
|     type Err = (); | ||||
|     fn from_str(s: &str) -> Result<Basic, ()> { | ||||
|         match s.from_base64() { | ||||
|             Ok(decoded) => match String::from_utf8(decoded) { | ||||
|                 Ok(text) => { | ||||
|                     let mut parts = &mut text[].split(':'); | ||||
|                     let user = match parts.next() { | ||||
|                         Some(part) => part.to_string(), | ||||
|                         None => return None | ||||
|                         None => return Err(()) | ||||
|                     }; | ||||
|                     let password = match parts.next() { | ||||
|                         Some(part) => Some(part.to_string()), | ||||
|                         None => None | ||||
|                     }; | ||||
|                     Some(Basic { | ||||
|                     Ok(Basic { | ||||
|                         username: user, | ||||
|                         password: password | ||||
|                     }) | ||||
|                 }, | ||||
|                 Err(e) => { | ||||
|                     debug!("Basic::from_utf8 error={:?}", e); | ||||
|                     None | ||||
|                     Err(()) | ||||
|                 } | ||||
|             }, | ||||
|             Err(e) => { | ||||
|                 debug!("Basic::from_base64 error={:?}", e); | ||||
|                 None | ||||
|                 Err(()) | ||||
|             } | ||||
|         } | ||||
|     } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user