pub mod data;
pub mod error;
pub mod header;
pub use data::Data;
pub use error::Error;
pub use header::HEADER;
pub struct Request {
data: Data,
header: String,
}
impl Request {
pub fn build(username: String) -> Result<Self, Error> {
Ok(Self {
data: match Data::build(username) {
Ok(data) => data,
Err(e) => return Err(Error::Data(e)),
},
header: HEADER.to_string(),
})
}
pub fn to_string(&self) -> Result<String, Error> {
Ok(format!(
"{}\r\n{}",
self.header,
match self.data.to_json() {
Ok(data) => data,
Err(e) => return Err(Error::Data(e)),
}
))
}
}