Merge pull request #18 from Alch-Emi/success-with-body
Add Response::success_with_body
This commit is contained in:
commit
cab1cf8ad6
|
@ -37,8 +37,10 @@ fn handle_request(users: Arc<RwLock<HashMap<CertBytes, String>>>, request: Reque
|
||||||
if let Some(user) = users_read.get(cert_bytes) {
|
if let Some(user) = users_read.get(cert_bytes) {
|
||||||
// The user has already registered
|
// The user has already registered
|
||||||
Ok(
|
Ok(
|
||||||
Response::success(&GEMINI_MIME)
|
Response::success_with_body(
|
||||||
.with_body(format!("Welcome {}!", user))
|
&GEMINI_MIME,
|
||||||
|
format!("Welcome {}!", user)
|
||||||
|
)
|
||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
// The user still needs to register
|
// The user still needs to register
|
||||||
|
@ -49,11 +51,13 @@ fn handle_request(users: Arc<RwLock<HashMap<CertBytes, String>>>, request: Reque
|
||||||
let mut users_write = users.write().await;
|
let mut users_write = users.write().await;
|
||||||
users_write.insert(cert_bytes.clone(), username.to_owned());
|
users_write.insert(cert_bytes.clone(), username.to_owned());
|
||||||
Ok(
|
Ok(
|
||||||
Response::success(&GEMINI_MIME)
|
Response::success_with_body(
|
||||||
.with_body(format!(
|
&GEMINI_MIME,
|
||||||
|
format!(
|
||||||
"Your account has been created {}! Welcome!",
|
"Your account has been created {}! Welcome!",
|
||||||
username
|
username
|
||||||
))
|
)
|
||||||
|
)
|
||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
// The user didn't provide input, and should be prompted
|
// The user didn't provide input, and should be prompted
|
||||||
|
|
|
@ -17,7 +17,7 @@ impl Response {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn document(document: Document) -> Self {
|
pub fn document(document: Document) -> Self {
|
||||||
Self::success(&GEMINI_MIME).with_body(document)
|
Self::success_with_body(&GEMINI_MIME, document)
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn input(prompt: impl Cowy<str>) -> Result<Self> {
|
pub fn input(prompt: impl Cowy<str>) -> Result<Self> {
|
||||||
|
@ -35,6 +35,19 @@ impl Response {
|
||||||
Self::new(header)
|
Self::new(header)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Create a successful response with a preconfigured body
|
||||||
|
///
|
||||||
|
/// This is equivilent to:
|
||||||
|
///
|
||||||
|
/// ```norun
|
||||||
|
/// Response::success(mime)
|
||||||
|
/// .with_body(body)
|
||||||
|
/// ```
|
||||||
|
pub fn success_with_body(mime: &Mime, body: impl Into<Body>) -> Self {
|
||||||
|
Self::success(mime)
|
||||||
|
.with_body(body)
|
||||||
|
}
|
||||||
|
|
||||||
pub fn server_error(reason: impl Cowy<str>) -> Result<Self> {
|
pub fn server_error(reason: impl Cowy<str>) -> Result<Self> {
|
||||||
let header = ResponseHeader::server_error(reason)?;
|
let header = ResponseHeader::server_error(reason)?;
|
||||||
Ok(Self::new(header))
|
Ok(Self::new(header))
|
||||||
|
|
|
@ -20,7 +20,7 @@ pub async fn serve_file<P: AsRef<Path>>(path: P, mime: &Mime) -> Result<Response
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
Ok(Response::success(&mime).with_body(file))
|
Ok(Response::success_with_body(mime, file))
|
||||||
}
|
}
|
||||||
|
|
||||||
pub async fn serve_dir<D: AsRef<Path>, P: AsRef<Path>>(dir: D, virtual_path: &[P]) -> Result<Response> {
|
pub async fn serve_dir<D: AsRef<Path>, P: AsRef<Path>>(dir: D, virtual_path: &[P]) -> Result<Response> {
|
||||||
|
|
Loading…
Reference in a new issue