aboutsummaryrefslogtreecommitdiff
path: root/src/barbfile.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/barbfile.rs')
-rw-r--r--src/barbfile.rs46
1 files changed, 25 insertions, 21 deletions
diff --git a/src/barbfile.rs b/src/barbfile.rs
index 1a17796..19a24cd 100644
--- a/src/barbfile.rs
+++ b/src/barbfile.rs
@@ -80,16 +80,16 @@ impl Header {
}
}
-struct BarbHeader {
+struct BarbPreamble {
pub method: Method,
pub url: String,
pub headers: Vec<Header>,
pub filter: Option<String>,
}
-impl BarbHeader {
+impl BarbPreamble {
fn new(method: Method, url: String, headers: Vec<Header>, filter: Option<String>) -> Self {
- BarbHeader {
+ BarbPreamble {
method: method,
url: url,
headers: headers,
@@ -99,25 +99,29 @@ impl BarbHeader {
}
pub struct BarbFile {
- header: BarbHeader,
+ preamble: BarbPreamble,
body: Option<String>,
}
impl BarbFile {
pub fn headers(&self) -> &Vec<Header> {
- &self.header.headers
+ &self.preamble.headers
}
pub fn method(&self) -> &Method {
- &self.header.method
+ &self.preamble.method
}
pub fn method_as_string(&self) -> String {
- self.header.method.to_string()
+ self.preamble.method.to_string()
}
pub fn url(&self) -> &String {
- &self.header.url
+ &self.preamble.url
+ }
+
+ pub fn filter(&self) -> &Option<String> {
+ &self.preamble.filter
}
pub fn body(&self) -> &Option<String> {
@@ -172,7 +176,7 @@ impl FromStr for BarbFile {
let body = lines.fold(String::from(""), |acc, x| acc + x);
Ok(BarbFile {
- header: BarbHeader::new(method, url, headers, filter),
+ preamble: BarbPreamble::new(method, url, headers, filter),
body: if body == "" { None } else { Some(body) },
})
}
@@ -214,12 +218,12 @@ mod tests {
let barbfile =
BarbFile::from_str("#GET^https://blah.com/api/blah\n#Authorization: BLAH\n#|filtr\n")
.unwrap();
- assert!(matches!(barbfile.header.method, Method::GET));
- assert_eq!(barbfile.header.url, "https://blah.com/api/blah");
- assert_eq!(barbfile.header.filter, Some(String::from("filtr")));
- assert_eq!(barbfile.header.headers.len(), 1);
- assert_eq!(barbfile.header.headers[0].name, "Authorization");
- assert_eq!(barbfile.header.headers[0].value, "BLAH");
+ assert!(matches!(barbfile.preamble.method, Method::GET));
+ assert_eq!(barbfile.preamble.url, "https://blah.com/api/blah");
+ assert_eq!(barbfile.preamble.filter, Some(String::from("filtr")));
+ assert_eq!(barbfile.preamble.headers.len(), 1);
+ assert_eq!(barbfile.preamble.headers[0].name, "Authorization");
+ assert_eq!(barbfile.preamble.headers[0].value, "BLAH");
assert_eq!(barbfile.body, None);
}
@@ -228,12 +232,12 @@ mod tests {
let barbfile =
BarbFile::from_str("#POST^https://blah.com/api/blah\n#Authorization: BLAH\n#|filtr\n\n{\"key\":\"value\"}\n")
.unwrap();
- assert!(matches!(barbfile.header.method, Method::POST));
- assert_eq!(barbfile.header.url, "https://blah.com/api/blah");
- assert_eq!(barbfile.header.filter, Some(String::from("filtr")));
- assert_eq!(barbfile.header.headers.len(), 1);
- assert_eq!(barbfile.header.headers[0].name, "Authorization");
- assert_eq!(barbfile.header.headers[0].value, "BLAH");
+ assert!(matches!(barbfile.preamble.method, Method::POST));
+ assert_eq!(barbfile.preamble.url, "https://blah.com/api/blah");
+ assert_eq!(barbfile.preamble.filter, Some(String::from("filtr")));
+ assert_eq!(barbfile.preamble.headers.len(), 1);
+ assert_eq!(barbfile.preamble.headers[0].name, "Authorization");
+ assert_eq!(barbfile.preamble.headers[0].value, "BLAH");
assert_eq!(barbfile.body, Some(String::from("{\"key\":\"value\"}")))
}
}