Fix default connection string and set port as environment variable
This commit is contained in:
parent
44c9f0e705
commit
a3b201fa09
4 changed files with 12 additions and 3 deletions
|
|
@ -4,6 +4,7 @@ use std::env;
|
||||||
pub struct Env {
|
pub struct Env {
|
||||||
pub postgres_connection_string: String,
|
pub postgres_connection_string: String,
|
||||||
pub allowed_origins: Vec<String>,
|
pub allowed_origins: Vec<String>,
|
||||||
|
pub port: String,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Env {
|
impl Env {
|
||||||
|
|
@ -17,9 +18,13 @@ impl Env {
|
||||||
.map(|s| s.trim().to_string())
|
.map(|s| s.trim().to_string())
|
||||||
.collect();
|
.collect();
|
||||||
|
|
||||||
|
let port = env::var("PORT")
|
||||||
|
.unwrap_or_else(|_| "3000".to_string());
|
||||||
|
|
||||||
Env {
|
Env {
|
||||||
postgres_connection_string,
|
postgres_connection_string,
|
||||||
allowed_origins,
|
allowed_origins,
|
||||||
|
port,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -12,9 +12,11 @@ async fn main() {
|
||||||
.with(tracing_subscriber::fmt::layer())
|
.with(tracing_subscriber::fmt::layer())
|
||||||
.init();
|
.init();
|
||||||
|
|
||||||
let listener = tokio::net::TcpListener::bind("0.0.0.0:3000").await.unwrap();
|
let state = AppState::new().await;
|
||||||
|
let port = &state.env.port;
|
||||||
|
let listener = tokio::net::TcpListener::bind(format!("0.0.0.0:{port}")).await.unwrap();
|
||||||
tracing::info!("listening on {}", listener.local_addr().unwrap());
|
tracing::info!("listening on {}", listener.local_addr().unwrap());
|
||||||
axum::serve(listener, upvoters::app(AppState::new().await))
|
axum::serve(listener, upvoters::app(state))
|
||||||
.await
|
.await
|
||||||
.unwrap();
|
.unwrap();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ pub mod db {
|
||||||
use sqlx::PgPool;
|
use sqlx::PgPool;
|
||||||
|
|
||||||
const DEFAULT_CONNECTION_STRING: &str =
|
const DEFAULT_CONNECTION_STRING: &str =
|
||||||
"postgres://uprs:password123@localhost:5432/uprs";
|
"postgres://upvoters:password123@localhost:5432/upvoters";
|
||||||
|
|
||||||
pub async fn test_pool() -> PgPool {
|
pub async fn test_pool() -> PgPool {
|
||||||
let conn = std::env::var("POSTGRES_CONNECTION_STRING")
|
let conn = std::env::var("POSTGRES_CONNECTION_STRING")
|
||||||
|
|
|
||||||
|
|
@ -141,6 +141,8 @@ mod tests {
|
||||||
db,
|
db,
|
||||||
env: Env {
|
env: Env {
|
||||||
postgres_connection_string: String::new(),
|
postgres_connection_string: String::new(),
|
||||||
|
allowed_origins: vec![],
|
||||||
|
port: "3000".to_string(),
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue