mirror of https://github.com/mastodon/flodgatt
Add dotenv configuration
This commit is contained in:
parent
1e9358f95d
commit
a6a7ebeae1
|
@ -0,0 +1,5 @@
|
|||
# Uncomment any of the variables below to customize your enviornment
|
||||
|
||||
#SERVER_ADDR=
|
||||
#REDIS_ADDR=
|
||||
#POSTGRES_ADDR=
|
10
src/main.rs
10
src/main.rs
|
@ -33,9 +33,12 @@ pub mod stream;
|
|||
pub mod timeline;
|
||||
pub mod user;
|
||||
pub mod ws;
|
||||
use dotenv::dotenv;
|
||||
use futures::stream::Stream;
|
||||
use futures::Async;
|
||||
use receiver::Receiver;
|
||||
use std::env;
|
||||
use std::net::SocketAddr;
|
||||
use stream::StreamManager;
|
||||
use user::{Scope, User};
|
||||
use warp::path;
|
||||
|
@ -43,6 +46,7 @@ use warp::Filter as WarpFilter;
|
|||
|
||||
fn main() {
|
||||
pretty_env_logger::init();
|
||||
dotenv().ok();
|
||||
|
||||
let redis_updates = StreamManager::new(Receiver::new());
|
||||
let redis_updates_sse = redis_updates.blank_copy();
|
||||
|
@ -138,5 +142,9 @@ fn main() {
|
|||
},
|
||||
);
|
||||
|
||||
warp::serve(websocket.or(routes)).run(([127, 0, 0, 1], 4000));
|
||||
let address: SocketAddr = env::var("SERVER_ADDR")
|
||||
.unwrap_or("127.0.0.1:4000".to_owned())
|
||||
.parse()
|
||||
.expect("static string");
|
||||
warp::serve(websocket.or(routes)).run(address);
|
||||
}
|
||||
|
|
|
@ -7,6 +7,7 @@ use log::info;
|
|||
use regex::Regex;
|
||||
use serde_json::Value;
|
||||
use std::collections::{HashMap, VecDeque};
|
||||
use std::env;
|
||||
use std::io::{Read, Write};
|
||||
use std::net::TcpStream;
|
||||
use std::time::{Duration, Instant};
|
||||
|
@ -48,12 +49,13 @@ impl Default for Receiver {
|
|||
}
|
||||
impl Receiver {
|
||||
pub fn new() -> Self {
|
||||
let pubsub_connection = TcpStream::connect("127.0.0.1:6379").expect("Can connect to Redis");
|
||||
let redis_addr = env::var("REDIS_ADDR").unwrap_or("127.0.0.1:6379".to_string());
|
||||
let pubsub_connection = TcpStream::connect(&redis_addr).expect("Can connect to Redis");
|
||||
pubsub_connection
|
||||
.set_read_timeout(Some(Duration::from_millis(10)))
|
||||
.expect("Can set read timeout for Redis connection");
|
||||
let secondary_redis_connection =
|
||||
TcpStream::connect("127.0.0.1:6379").expect("Can connect to Redis");
|
||||
TcpStream::connect(&redis_addr).expect("Can connect to Redis");
|
||||
secondary_redis_connection
|
||||
.set_read_timeout(Some(Duration::from_millis(10)))
|
||||
.expect("Can set read timeout for Redis connection");
|
||||
|
|
10
src/user.rs
10
src/user.rs
|
@ -2,14 +2,16 @@
|
|||
use crate::{any_of, query};
|
||||
use log::info;
|
||||
use postgres;
|
||||
use std::env;
|
||||
use warp::Filter as WarpFilter;
|
||||
|
||||
/// (currently hardcoded to localhost)
|
||||
pub fn connect_to_postgres() -> postgres::Connection {
|
||||
postgres::Connection::connect(
|
||||
"postgres://dsock@localhost/mastodon_development",
|
||||
postgres::TlsMode::None,
|
||||
)
|
||||
let postgres_addr = env::var("POSTGRESS_ADDR").unwrap_or(format!(
|
||||
"postgres://{}@localhost/mastodon_development",
|
||||
env::var("USER").expect("User env var should exist")
|
||||
));
|
||||
postgres::Connection::connect(postgres_addr, postgres::TlsMode::None)
|
||||
.expect("Can connect to local Postgres")
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue