openlegends-server 0.3.0

OpenLegends Game Server
Documentation
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)),
            }
        ))
    }
}