diff options
| -rw-r--r-- | Cargo.toml | 2 | ||||
| -rw-r--r-- | src/executor.rs | 29 | ||||
| -rw-r--r-- | src/main.rs | 24 | 
3 files changed, 34 insertions, 21 deletions
| @@ -1,6 +1,6 @@  [package]  name = "barb" -version = "0.1.4" +version = "0.1.5"  edition = "2021"  license = "GPL-3.0-or-later"  description = "Command-line tool to perform file-based HTTP(s) requests." diff --git a/src/executor.rs b/src/executor.rs index bd9767b..f78fd2a 100644 --- a/src/executor.rs +++ b/src/executor.rs @@ -57,7 +57,14 @@ impl Executor {          Executor { context }      } -    fn make_req(&self, bfile: &BarbFile, print_headers: bool) -> ureq::Request { +    fn make_req(&self, bfile: &BarbFile, print_req: bool, print_headers: bool) -> ureq::Request { +        if print_req { +            println!( +                "{} {}", +                bfile.method_as_string().as_str(), +                self.context.substitute(&bfile.url()).as_str() +            ); +        }          let mut req = ureq::request(              bfile.method_as_string().as_str(),              self.context.substitute(&bfile.url()).as_str(), @@ -91,12 +98,17 @@ impl Executor {          match resp {              Ok(resp) => Ok(resp),              Err(UreqError::Status(_, resp)) => Ok(resp), -            Err(UreqError::Transport(transp)) => Err(String::from(transp.to_string())) +            Err(UreqError::Transport(transp)) => Err(String::from(transp.to_string())),          }      } -    pub fn execute(&mut self, bfile: &BarbFile, print_headers: bool) -> Result<ureq::Response, String> { -        self.run(bfile, self.make_req(&bfile, print_headers)) +    pub fn execute( +        &mut self, +        bfile: &BarbFile, +        print_req: bool, +        print_headers: bool, +    ) -> Result<ureq::Response, String> { +        self.run(bfile, self.make_req(&bfile, print_req, print_headers))      }  } @@ -142,12 +154,13 @@ mod tests {      #[test]      fn test_make_req_simple_headers() {          let executor = Executor::new(Context::empty()); -        let bfile = BarbFile::from_str( -            "#GET^http://foo.bar\n#Foo: Bar\n#Bar: Baz\n\n" -        ).unwrap(); +        let bfile = BarbFile::from_str("#GET^http://foo.bar\n#Foo: Bar\n#Bar: Baz\n\n").unwrap();          let req = executor.make_req(&bfile, false); -        assert_eq!(req.header_names(), vec![String::from("foo"), String::from("bar")]); +        assert_eq!( +            req.header_names(), +            vec![String::from("foo"), String::from("bar")] +        );          assert_eq!(req.header("foo"), Some("Bar"));          assert_eq!(req.header("bar"), Some("Baz"));      } diff --git a/src/main.rs b/src/main.rs index a35ad7d..6099020 100644 --- a/src/main.rs +++ b/src/main.rs @@ -31,6 +31,10 @@ struct Args {  }  impl Args { +    pub fn print_req(&self) -> bool { +        return !self.body +    } +          pub fn print_headers(&self) -> bool {          self.headers || self.all_headers || !self.body      } @@ -47,13 +51,11 @@ impl Args {          self.all_headers      } -    pub fn files_iter(&self) -> Iter<String> -    { +    pub fn files_iter(&self) -> Iter<String> {          self.files.iter()      } -    pub fn jq_filter(&self) -> &Option<String> -    { +    pub fn jq_filter(&self) -> &Option<String> {          &self.filter      }  } @@ -72,8 +74,9 @@ fn run_file(args: &Args, executor: &mut Executor, file_name: &String) -> Result<          fs::read_to_string(file_name.as_str())              .map_err(|_| format!("Failed to read file '{}'", file_name))?              .as_str(), -    ).map_err(|_| format!("Failed to parse file '{}'", file_name))?; -    let response = executor.execute(&bfile, args.req_headers())?; +    ) +    .map_err(|_| format!("Failed to parse file '{}'", file_name))?; +    let response = executor.execute(&bfile, args.print_req(), args.req_headers())?;      if args.print_headers() {          println!("{} {}", response.status(), response.status_text()); @@ -81,7 +84,7 @@ fn run_file(args: &Args, executor: &mut Executor, file_name: &String) -> Result<              println!(                  "{}: {}",                  header_name, -                // Header is guaranteed to exist  +                // Header is guaranteed to exist                  response.header(header_name.as_str()).unwrap()              );          } @@ -93,10 +96,7 @@ fn run_file(args: &Args, executor: &mut Executor, file_name: &String) -> Result<              "{}",              match args.raw_body() {                  true => body, -                false => format_json( -                    body.as_str(), -                    Indentation::Default -                ), +                false => format_json(body.as_str(), Indentation::Default),              }          );      } @@ -112,7 +112,7 @@ fn main() {      for file in args.files_iter() {          match run_file(&args, &mut executor, file) {              Ok(()) => (), -            Err(err) => println!("{}", err) +            Err(err) => println!("{}", err),          }      }  } | 
