| 
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -9,6 +9,12 @@ pub mod logs; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					#[cfg(test)]
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					mod tests;
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					const URL_SAFE_NO_PAD: base64::engine::fast_portable::FastPortable =
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    base64::engine::fast_portable::FastPortable::from(
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        &base64::alphabet::URL_SAFE,
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        base64::engine::fast_portable::NO_PAD,
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    );
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					macro_rules! exit_match {
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    ($e: expr) => {
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        match $e {
 | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -39,11 +45,11 @@ pub fn to_idna(domain_name: &str) -> Result<String, error::Error> { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					}
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					pub fn b64_encode<T: ?Sized + AsRef<[u8]>>(input: &T) -> String {
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    base64::encode_config(input, base64::URL_SAFE_NO_PAD)
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    base64::encode_engine(input, &URL_SAFE_NO_PAD)
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					}
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					pub fn b64_decode<T: ?Sized + AsRef<[u8]>>(input: &T) -> Result<Vec<u8>, error::Error> {
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    let res = base64::decode_config(input, base64::URL_SAFE_NO_PAD)?;
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    let res = base64::decode_engine(input, &URL_SAFE_NO_PAD)?;
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    Ok(res)
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					}
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
				
				 | 
				
					
  |