From 5813dd6ad5b28e719c3c4ec205486d7e72a14476 Mon Sep 17 00:00:00 2001 From: Ruidy Date: Wed, 30 Dec 2020 10:22:51 +0100 Subject: [PATCH] env variables --- .env | 1 + .env.example | 1 + .gitignore | 3 ++- Cargo.lock | 7 +++++++ Cargo.toml | 5 +++-- src/main.rs | 6 +++++- 6 files changed, 19 insertions(+), 4 deletions(-) create mode 100644 .env create mode 100644 .env.example diff --git a/.env b/.env new file mode 100644 index 0000000..0f4dc0e --- /dev/null +++ b/.env @@ -0,0 +1 @@ +BASE_URL=127.0.0.1:8000 \ No newline at end of file diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..0f4dc0e --- /dev/null +++ b/.env.example @@ -0,0 +1 @@ +BASE_URL=127.0.0.1:8000 \ No newline at end of file diff --git a/.gitignore b/.gitignore index 40d9aca..5e101cc 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ /target -/.idea \ No newline at end of file +/.idea +.env \ No newline at end of file diff --git a/Cargo.lock b/Cargo.lock index d59fff6..cb7bb48 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -507,6 +507,12 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "212d0f5754cb6769937f4501cc0e67f4f4483c8d2c3e1e922ee9edbe4ab4c7c0" +[[package]] +name = "dotenv" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77c90badedccf4105eca100756a0b1289e191f6fcbdadd3cee1d2f614f97da8f" + [[package]] name = "either" version = "1.6.1" @@ -1757,6 +1763,7 @@ name = "web" version = "0.1.0" dependencies = [ "actix-web", + "dotenv", "env_logger", "serde", ] diff --git a/Cargo.toml b/Cargo.toml index 70cf5ef..266f62a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -8,5 +8,6 @@ edition = "2018" [dependencies] actix-web = "3" -serde = "1.0.118" -env_logger = "0.8.2" \ No newline at end of file +dotenv = "0.15.0" +env_logger = "0.8.2" +serde = "1.0.118" \ No newline at end of file diff --git a/src/main.rs b/src/main.rs index fe5fe67..3e8420a 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,3 +1,4 @@ +use std::env; use std::sync::Mutex; use actix_web::{middleware, web, App, HttpServer}; @@ -9,6 +10,9 @@ mod task; #[actix_web::main] async fn main() -> std::io::Result<()> { env_logger::Builder::from_env(Env::default().default_filter_or("info")).init(); + dotenv::dotenv().ok(); + + let addr = env::var("BASE_URL").unwrap(); let tasks = web::Data::new(task::TaskList { tasks: Mutex::new(vec![ @@ -31,7 +35,7 @@ async fn main() -> std::io::Result<()> { .app_data(tasks.clone()) .configure(task::init) }) - .bind("127.0.0.1:8000")? + .bind(addr)? .run() .await }