From a4cfb64155c7505f32fed0a579d41101e544fa7c Mon Sep 17 00:00:00 2001 From: Shav Kinderlehrer Date: Wed, 1 May 2024 12:32:28 -0400 Subject: Add CHELA_USES_HTTPS as an option --- src/main.rs | 3 +++ src/post.rs | 6 ++++-- 2 files changed, 7 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/main.rs b/src/main.rs index 83731fa..b3e8abb 100644 --- a/src/main.rs +++ b/src/main.rs @@ -29,6 +29,7 @@ pub struct ServerState { pub sqids: Sqids, pub main_page_redirect: Option, pub behind_proxy: bool, + pub uses_https: bool, } #[derive(Debug, Clone, sqlx::FromRow, PartialEq, Eq)] @@ -87,12 +88,14 @@ async fn main() -> eyre::Result<()> { .build()?; let main_page_redirect = env::var("CHELA_MAIN_PAGE_REDIRECT").unwrap_or_default(); let behind_proxy = env::var("CHELA_BEHIND_PROXY").is_ok(); + let uses_https = env::var("CHELA_USES_HTTPS").is_ok(); let server_state = ServerState { db_pool, host, sqids, main_page_redirect: Url::parse(&main_page_redirect).ok(), behind_proxy, + uses_https }; serve(server_state).await?; diff --git a/src/post.rs b/src/post.rs index e19d6ae..bac5c06 100644 --- a/src/post.rs +++ b/src/post.rs @@ -32,7 +32,8 @@ pub async fn create_link( if id.exists { log!("Serving cached id {} -> {}", id.id, form.url.as_str()); return Html(format!( - r#"
http://{}/{} -> {}
"#, + r#"
http{}://{}/{} -> {}
"#, + if state.uses_https { "s" } else { "" }, state.host, id.id, form.url.as_str(), @@ -72,7 +73,8 @@ VALUES ($1,$2,true) return ( StatusCode::OK, Html(format!( - r#"
http://{}/{} -> {}
"#, + r#"
http{}://{}/{} -> {}
"#, + if state.uses_https { "s" } else { "" }, state.host, id.id, form.url.as_str(), -- cgit v1.2.3