aboutsummaryrefslogtreecommitdiff
path: root/src/main.rs
diff options
context:
space:
mode:
authorAkshay <[email protected]>2020-08-24 05:39:53 +0100
committerAkshay <[email protected]>2020-08-24 05:39:53 +0100
commit8ae488341a66d27c91230b1c76d415d59c0e418b (patch)
tree9c5be1b4b45f972813eec3e05d38b8263804c2dc /src/main.rs
parentf9051a919fa9af44a5703f55afc11e91607d68c6 (diff)
refactor db to init once, open connections otherwise
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/main.rs b/src/main.rs
index c9819d0..35e686e 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -1,22 +1,24 @@
1// extern
1use anyhow::Result; 2use anyhow::Result;
2use hyper::service::{make_service_fn, service_fn}; 3use hyper::service::{make_service_fn, service_fn};
3use hyper::Server; 4use hyper::Server;
4use log::trace; 5use log::trace;
5 6
7// internal
6mod db; 8mod db;
7use db::init_db; 9use db::{init_db, open_connection};
10
8mod service; 11mod service;
9use service::shortner_service; 12use service::shortner_service;
10 13
11use std::sync::{Arc, Mutex};
12
13fn main() -> Result<()> { 14fn main() -> Result<()> {
14 pretty_env_logger::init(); 15 pretty_env_logger::init();
16 init_db("./urls.db_3")?;
15 smol::run(async { 17 smol::run(async {
16 let addr = ([127, 0, 0, 1], 3000).into(); 18 let addr = ([127, 0, 0, 1], 3000).into();
17 let service = make_service_fn(move |_| async { 19 let service = make_service_fn(move |_| async {
18 Ok::<_, hyper::Error>(service_fn(move |req| { 20 Ok::<_, hyper::Error>(service_fn(move |req| {
19 let db_conn = init_db("./urls.db_3").unwrap(); 21 let db_conn = open_connection("./urls.db_3").unwrap();
20 shortner_service(req, db_conn) 22 shortner_service(req, db_conn)
21 })) 23 }))
22 }); 24 });