blocking.rs 884 B

12345678910111213141516171819202122232425262728293031
  1. //! `cargo run --example blocking --features=blocking`
  2. #![deny(warnings)]
  3. fn main() -> Result<(), Box<dyn std::error::Error>> {
  4. env_logger::init();
  5. // Some simple CLI args requirements...
  6. let url = match std::env::args().nth(1) {
  7. Some(url) => url,
  8. None => {
  9. println!("No CLI URL provided, using default.");
  10. "https://hyper.rs".into()
  11. }
  12. };
  13. eprintln!("Fetching {:?}...", url);
  14. // reqwest::blocking::get() is a convenience function.
  15. //
  16. // In most cases, you should create/build a reqwest::Client and reuse
  17. // it for all requests.
  18. let mut res = reqwest::blocking::get(url)?;
  19. eprintln!("Response: {:?} {}", res.version(), res.status());
  20. eprintln!("Headers: {:#?}\n", res.headers());
  21. // copy the response body directly to stdout
  22. res.copy_to(&mut std::io::stdout())?;
  23. Ok(())
  24. }