32 lines
		
	
	
		
			884 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			884 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
| //! `cargo run --example blocking --features=blocking`
 | |
| #![deny(warnings)]
 | |
| 
 | |
| fn main() -> Result<(), Box<dyn std::error::Error>> {
 | |
|     env_logger::init();
 | |
| 
 | |
|     // Some simple CLI args requirements...
 | |
|     let url = match std::env::args().nth(1) {
 | |
|         Some(url) => url,
 | |
|         None => {
 | |
|             println!("No CLI URL provided, using default.");
 | |
|             "https://hyper.rs".into()
 | |
|         }
 | |
|     };
 | |
| 
 | |
|     eprintln!("Fetching {:?}...", url);
 | |
| 
 | |
|     // reqwest::blocking::get() is a convenience function.
 | |
|     //
 | |
|     // In most cases, you should create/build a reqwest::Client and reuse
 | |
|     // it for all requests.
 | |
|     let mut res = reqwest::blocking::get(url)?;
 | |
| 
 | |
|     eprintln!("Response: {:?} {}", res.version(), res.status());
 | |
|     eprintln!("Headers: {:#?}\n", res.headers());
 | |
| 
 | |
|     // copy the response body directly to stdout
 | |
|     res.copy_to(&mut std::io::stdout())?;
 | |
| 
 | |
|     Ok(())
 | |
| }
 |