summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorYigit Sever2021-04-15 00:32:28 +0300
committerYigit Sever2021-04-15 03:46:30 +0300
commit2b866db08bd20985a570c4f0f292aaecfe1ea052 (patch)
tree964b546c50d98b91827a15ed7ed70c94111685d6 /src
parentbddea30ecb76f0c4805758d3b36aab52f176ff9b (diff)
downloadgradecoin-2b866db08bd20985a570c4f0f292aaecfe1ea052.tar.gz
gradecoin-2b866db08bd20985a570c4f0f292aaecfe1ea052.tar.bz2
gradecoin-2b866db08bd20985a570c4f0f292aaecfe1ea052.zip
Add template support
We are now serving static HTML alongside Gradecoin REST
Diffstat (limited to 'src')
-rw-r--r--src/handlers.rs19
-rw-r--r--src/routes.rs6
2 files changed, 22 insertions, 3 deletions
diff --git a/src/handlers.rs b/src/handlers.rs
index a8c9947..b3a6fa8 100644
--- a/src/handlers.rs
+++ b/src/handlers.rs
@@ -1,5 +1,6 @@
1/// API handlers, the ends of each filter chain
2use aes::Aes128; 1use aes::Aes128;
2/// API handlers, the ends of each filter chain
3use askama::Template;
3use base64; 4use base64;
4use blake2::{Blake2s, Digest}; 5use blake2::{Blake2s, Digest};
5use block_modes::block_padding::Pkcs7; 6use block_modes::block_padding::Pkcs7;
@@ -599,3 +600,19 @@ fn authorize_proposer(jwt_token: String, user_pem: &String) -> Result<TokenData<
599 600
600 Ok(token_payload) 601 Ok(token_payload)
601} 602}
603
604#[derive(Template)]
605#[template(path = "welcome.html")]
606struct WelcomeTemplate<'a> {
607 title: &'a str,
608 body: &'a str,
609}
610
611pub async fn welcome_handler() -> Result<impl warp::Reply, warp::Rejection> {
612 let template = WelcomeTemplate {
613 title: "Welcome",
614 body: "To The Bookstore!",
615 };
616 let res = template.render().unwrap();
617 Ok(warp::reply::html(res))
618}
diff --git a/src/routes.rs b/src/routes.rs
index 280de35..f8d9605 100644
--- a/src/routes.rs
+++ b/src/routes.rs
@@ -7,7 +7,10 @@ use crate::schema::Db;
7 7
8/// Every route combined 8/// Every route combined
9pub fn consensus_routes(db: Db) -> impl Filter<Extract = impl Reply, Error = Rejection> + Clone { 9pub fn consensus_routes(db: Db) -> impl Filter<Extract = impl Reply, Error = Rejection> + Clone {
10 transaction_list(db.clone()) 10 let welcome_route = warp::path::end().and_then(handlers::welcome_handler);
11
12 welcome_route
13 .or(transaction_list(db.clone()))
11 .or(register_user(db.clone())) 14 .or(register_user(db.clone()))
12 .or(auth_transaction_propose(db.clone())) 15 .or(auth_transaction_propose(db.clone()))
13 .or(auth_block_propose(db.clone())) 16 .or(auth_block_propose(db.clone()))
@@ -60,4 +63,3 @@ pub fn auth_block_propose(db: Db) -> impl Filter<Extract = impl Reply, Error = R
60 .and(custom_filters::with_db(db)) 63 .and(custom_filters::with_db(db))
61 .and_then(handlers::authorized_propose_block) 64 .and_then(handlers::authorized_propose_block)
62} 65}
63