aboutsummaryrefslogtreecommitdiff
path: root/src/response.rs
diff options
context:
space:
mode:
authorFuwn <[email protected]>2023-05-22 06:34:28 +0000
committerFuwn <[email protected]>2023-05-22 06:34:28 +0000
commita77445352ab0247603b2a847516f0fd3d665482e (patch)
tree85a3162b5e582612989cc01a809c3c2742847d3e /src/response.rs
parentrefactor(src): rename files (diff)
downloadseptember-a77445352ab0247603b2a847516f0fd3d665482e.tar.xz
september-a77445352ab0247603b2a847516f0fd3d665482e.zip
deps(gmi): finally drop gmi
Diffstat (limited to 'src/response.rs')
-rw-r--r--src/response.rs26
1 files changed, 13 insertions, 13 deletions
diff --git a/src/response.rs b/src/response.rs
index 83bdc1e..7c71f55 100644
--- a/src/response.rs
+++ b/src/response.rs
@@ -68,15 +68,15 @@ For example: to proxy "gemini://fuwn.me/uptime", visit "/proxy/fuwn.me/uptime".<
};
// Make a request to get Gemini content and time it.
let mut timer = Instant::now();
- let mut response = match gmi::request::make_request(&url) {
+ let mut response = match germ::request::request(&url) {
Ok(response) => response,
Err(e) => {
return Ok(HttpResponse::Ok().body(e.to_string()));
}
};
- if response.data.is_empty() {
- response = match gmi::request::make_request(&match make_url(
+ if response.content().is_some() {
+ response = match germ::request::request(&match make_url(
req.path(),
true,
&mut is_proxy,
@@ -100,7 +100,7 @@ For example: to proxy "gemini://fuwn.me/uptime", visit "/proxy/fuwn.me/uptime".<
}
let response_time_taken = timer.elapsed();
- let meta = germ::meta::Meta::from_string(response.meta.clone());
+ let meta = germ::meta::Meta::from_string(response.meta().to_string());
let charset = meta
.parameters()
.get("charset")
@@ -126,12 +126,13 @@ For example: to proxy "gemini://fuwn.me/uptime", visit "/proxy/fuwn.me/uptime".<
}
)
};
- let gemini_html = crate::html::from_gemini(&response, &url, is_proxy);
+ let gemini_html =
+ crate::html::from_gemini(&response, &url, is_proxy).unwrap();
let gemini_title = gemini_html.0;
let convert_time_taken = timer.elapsed();
if is_raw {
- html_context.push_str(&String::from_utf8_lossy(&response.data));
+ html_context.push_str(&response.content().clone().unwrap_or_default());
return Ok(
HttpResponse::Ok()
@@ -187,11 +188,11 @@ For example: to proxy "gemini://fuwn.me/uptime", visit "/proxy/fuwn.me/uptime".<
html_context.push_str(&format!("<title>{gemini_title}</title>"));
html_context.push_str("</head><body>");
- match response.status {
- gmi::protocol::StatusCode::Success(_) => {
+ match response.status() {
+ germ::request::Status::Success => {
html_context.push_str(&gemini_html.1);
}
- _ => html_context.push_str(&format!("<p>{}</p>", response.meta)),
+ _ => html_context.push_str(&format!("<p>{}</p>", response.meta())),
}
// Add proxy information to footer of HTML response
@@ -211,8 +212,8 @@ For example: to proxy "gemini://fuwn.me/uptime", visit "/proxy/fuwn.me/uptime".<
<a href=\"https://github.com/gemrest/september{}\">September ({})</a>.</p>
</details></body></html>",
url,
- response.status,
- response.meta,
+ response.status(),
+ response.meta(),
response_time_taken.as_nanos() as f64 / 1_000_000.0,
convert_time_taken.as_nanos() as f64 / 1_000_000.0,
format_args!("/tree/{}", env!("VERGEN_GIT_SHA")),
@@ -222,8 +223,7 @@ For example: to proxy "gemini://fuwn.me/uptime", visit "/proxy/fuwn.me/uptime".<
if let Ok(plain_texts) = var("PLAIN_TEXT_ROUTE") {
if plain_texts.split(',').any(|r| r == req.path()) {
return Ok(
- HttpResponse::Ok()
- .body(String::from_utf8_lossy(&response.data).to_string()),
+ HttpResponse::Ok().body(response.content().clone().unwrap_or_default()),
);
}
}