feat: Implement .env file support (#618)

Co-authored-by: Jacob Marshall <me@jhqcat.com>
This commit is contained in:
Marco Pasqualetti
2025-03-09 12:00:12 +01:00
committed by GitHub
parent 8fcebae4a9
commit 67de777fd1
24 changed files with 361 additions and 14 deletions
+7
View File
@@ -0,0 +1,7 @@
use std::env;
use tuono_lib::Request;
#[tuono_lib::api(GET)]
pub async fn test_env(_req: Request) -> String {
env::var("MY_TEST_KEY").unwrap_or("error".parse().unwrap())
}
+5 -1
View File
@@ -9,6 +9,7 @@ use tuono_lib::{axum::Router, tuono_internal_init_v8_platform, Mode, Server};
use crate::utils::catch_all::get_tuono_internal_api as catch_all;
use crate::utils::dynamic_parameter::get_tuono_internal_api as dynamic_parameter;
use crate::utils::env::get_tuono_internal_api as test_env;
use crate::utils::health_check::get_tuono_internal_api as health_check;
use crate::utils::route as html_route;
use crate::utils::route::tuono_internal_api as route_api;
@@ -74,13 +75,16 @@ impl MockTuonoServer {
r#"{"client-main.tsx": { "file": "assets/index.js", "name": "index", "src": "index.tsx", "isEntry": true,"dynamicImports": [],"css": []}}"#,
);
add_file_with_content("./.env", r#"MY_TEST_KEY="foobar""#);
let router = Router::new()
.route("/", get(html_route::tuono_internal_route))
.route("/tuono/data", get(html_route::tuono_internal_api))
.route("/health_check", get(health_check))
.route("/route-api", get(route_api))
.route("/catch_all/{*catch_all}", get(catch_all))
.route("/dynamic/{parameter}", get(dynamic_parameter));
.route("/dynamic/{parameter}", get(dynamic_parameter))
.route("/env", get(test_env));
let server = Server::init(router, Mode::Prod).await;
+1
View File
@@ -1,5 +1,6 @@
pub mod catch_all;
pub mod dynamic_parameter;
pub mod env;
pub mod health_check;
pub mod mock_server;
pub mod route;