Replace Rocket and Tera with Rouille and Maud #88
|
@ -15,7 +15,7 @@
|
|||
//mod context;
|
||||
mod config;
|
||||
pub mod error;
|
||||
//mod router;
|
||||
mod router;
|
||||
mod routes;
|
||||
//#[cfg(test)]
|
||||
//mod tests;
|
||||
|
@ -30,11 +30,9 @@ use log::info;
|
|||
//use peach_lib::{config_manager, config_manager::YAML_PATH as PEACH_CONFIG};
|
||||
//use rocket::{fairing::AdHoc, serde::Deserialize, Build, Rocket};
|
||||
|
||||
use rouille::{router, Response};
|
||||
|
||||
// crate-local dependencies
|
||||
use config::Config;
|
||||
use utils::{flash::FlashResponse, theme::Theme};
|
||||
use utils::theme::Theme;
|
||||
|
||||
pub type BoxError = Box<dyn std::error::Error>;
|
||||
|
||||
|
@ -123,101 +121,7 @@ fn main() {
|
|||
return response;
|
||||
}
|
||||
|
||||
router!(request,
|
||||
(GET) (/) => {
|
||||
Response::html(routes::home::build_template())
|
||||
},
|
||||
|
||||
(GET) (/auth/change) => {
|
||||
// build the html template
|
||||
Response::html(routes::authentication::change::build_template(request))
|
||||
// reset the flash msg cookies in the response object
|
||||
.reset_flash()
|
||||
},
|
||||
|
||||
(POST) (/auth/change) => {
|
||||
routes::authentication::change::handle_form(request)
|
||||
},
|
||||
|
||||
(GET) (/auth/login) => {
|
||||
Response::html(routes::authentication::login::build_template(request))
|
||||
.reset_flash()
|
||||
},
|
||||
|
||||
(POST) (/auth/login) => {
|
||||
routes::authentication::login::handle_form(request)
|
||||
},
|
||||
|
||||
(GET) (/auth/logout) => {
|
||||
routes::authentication::logout::deauthenticate()
|
||||
},
|
||||
|
||||
(GET) (/auth/reset) => {
|
||||
Response::html(routes::authentication::reset::build_template(request))
|
||||
.reset_flash()
|
||||
},
|
||||
|
||||
(POST) (/auth/reset) => {
|
||||
routes::authentication::reset::handle_form(request)
|
||||
},
|
||||
|
||||
(GET) (/guide) => {
|
||||
Response::html(routes::guide::build_template())
|
||||
},
|
||||
|
||||
(GET) (/settings) => {
|
||||
Response::html(routes::settings::menu::build_template())
|
||||
},
|
||||
|
||||
(GET) (/settings/scuttlebutt) => {
|
||||
Response::html(routes::settings::scuttlebutt::menu::build_template(request))
|
||||
.reset_flash()
|
||||
},
|
||||
|
||||
(GET) (/settings/scuttlebutt/restart) => {
|
||||
routes::settings::scuttlebutt::restart::restart_sbot()
|
||||
},
|
||||
|
||||
(GET) (/settings/scuttlebutt/start) => {
|
||||
routes::settings::scuttlebutt::start::start_sbot()
|
||||
},
|
||||
|
||||
(GET) (/settings/scuttlebutt/stop) => {
|
||||
routes::settings::scuttlebutt::stop::stop_sbot()
|
||||
},
|
||||
|
||||
(GET) (/settings/scuttlebutt/configure) => {
|
||||
Response::html(routes::settings::scuttlebutt::configure::build_template())
|
||||
},
|
||||
|
||||
(GET) (/settings/admin) => {
|
||||
Response::html(routes::settings::admin::menu::build_template())
|
||||
},
|
||||
|
||||
(POST) (/settings/admin/add) => {
|
||||
routes::settings::admin::add::handle_form(request)
|
||||
},
|
||||
|
||||
(GET) (/settings/admin/configure) => {
|
||||
Response::html(routes::settings::admin::configure::build_template(request))
|
||||
.reset_flash()
|
||||
},
|
||||
|
||||
(POST) (/settings/admin/delete) => {
|
||||
routes::settings::admin::delete::handle_form(request)
|
||||
},
|
||||
|
||||
(GET) (/scuttlebutt/peers) => {
|
||||
Response::html(routes::scuttlebutt::peers::build_template())
|
||||
},
|
||||
|
||||
(GET) (/status/scuttlebutt) => {
|
||||
Response::html(routes::status::scuttlebutt::build_template())
|
||||
},
|
||||
|
||||
// The code block is called if none of the other blocks matches the request.
|
||||
// We return an empty response with a 404 status code.
|
||||
_ => Response::empty_404()
|
||||
)
|
||||
// TODO: mount the blobstore fileserver (see old code in src/router.rs)
|
||||
router::mount_peachpub_routes(request)
|
||||
});
|
||||
}
|
||||
|
|
|
@ -1,3 +1,114 @@
|
|||
use rouille::{router, Request, Response};
|
||||
|
||||
use crate::{routes, utils::flash::FlashResponse};
|
||||
|
||||
/// Define the PeachPub router.
|
||||
///
|
||||
/// Takes an incoming request and matches on the defined routes,
|
||||
/// returning either a template or a redirect.
|
||||
///
|
||||
/// Excludes settings and status routes related to networking and the device
|
||||
/// (memory, hard disk, CPU etc.).
|
||||
pub fn mount_peachpub_routes(request: &Request) -> Response {
|
||||
router!(request,
|
||||
(GET) (/) => {
|
||||
Response::html(routes::home::build_template())
|
||||
},
|
||||
|
||||
(GET) (/auth/change) => {
|
||||
// build the html template
|
||||
Response::html(routes::authentication::change::build_template(request))
|
||||
// reset the flash msg cookies in the response object
|
||||
.reset_flash()
|
||||
},
|
||||
|
||||
(POST) (/auth/change) => {
|
||||
routes::authentication::change::handle_form(request)
|
||||
},
|
||||
|
||||
(GET) (/auth/login) => {
|
||||
Response::html(routes::authentication::login::build_template(request))
|
||||
.reset_flash()
|
||||
},
|
||||
|
||||
(POST) (/auth/login) => {
|
||||
routes::authentication::login::handle_form(request)
|
||||
},
|
||||
|
||||
(GET) (/auth/logout) => {
|
||||
routes::authentication::logout::deauthenticate()
|
||||
},
|
||||
|
||||
(GET) (/auth/reset) => {
|
||||
Response::html(routes::authentication::reset::build_template(request))
|
||||
.reset_flash()
|
||||
},
|
||||
|
||||
(POST) (/auth/reset) => {
|
||||
routes::authentication::reset::handle_form(request)
|
||||
},
|
||||
|
||||
(GET) (/guide) => {
|
||||
Response::html(routes::guide::build_template())
|
||||
},
|
||||
|
||||
(GET) (/settings) => {
|
||||
Response::html(routes::settings::menu::build_template())
|
||||
},
|
||||
|
||||
(GET) (/settings/scuttlebutt) => {
|
||||
Response::html(routes::settings::scuttlebutt::menu::build_template(request))
|
||||
.reset_flash()
|
||||
},
|
||||
|
||||
(GET) (/settings/scuttlebutt/restart) => {
|
||||
routes::settings::scuttlebutt::restart::restart_sbot()
|
||||
},
|
||||
|
||||
(GET) (/settings/scuttlebutt/start) => {
|
||||
routes::settings::scuttlebutt::start::start_sbot()
|
||||
},
|
||||
|
||||
(GET) (/settings/scuttlebutt/stop) => {
|
||||
routes::settings::scuttlebutt::stop::stop_sbot()
|
||||
},
|
||||
|
||||
(GET) (/settings/scuttlebutt/configure) => {
|
||||
Response::html(routes::settings::scuttlebutt::configure::build_template())
|
||||
},
|
||||
|
||||
(GET) (/settings/admin) => {
|
||||
Response::html(routes::settings::admin::menu::build_template())
|
||||
},
|
||||
|
||||
(POST) (/settings/admin/add) => {
|
||||
routes::settings::admin::add::handle_form(request)
|
||||
},
|
||||
|
||||
(GET) (/settings/admin/configure) => {
|
||||
Response::html(routes::settings::admin::configure::build_template(request))
|
||||
.reset_flash()
|
||||
},
|
||||
|
||||
(POST) (/settings/admin/delete) => {
|
||||
routes::settings::admin::delete::handle_form(request)
|
||||
},
|
||||
|
||||
(GET) (/scuttlebutt/peers) => {
|
||||
Response::html(routes::scuttlebutt::peers::build_template())
|
||||
},
|
||||
|
||||
(GET) (/status/scuttlebutt) => {
|
||||
Response::html(routes::status::scuttlebutt::build_template())
|
||||
},
|
||||
|
||||
// The code block is called if none of the other blocks matches the request.
|
||||
// We return an empty response with a 404 status code.
|
||||
_ => Response::empty_404()
|
||||
)
|
||||
}
|
||||
|
||||
/*
|
||||
use rocket::{catchers, fs::FileServer, routes, Build, Rocket};
|
||||
use rocket_dyn_templates::Template;
|
||||
|
||||
|
@ -123,3 +234,4 @@ pub fn mount_peachcloud_routes(rocket: Rocket<Build>) -> Rocket<Build> {
|
|||
)
|
||||
.mount("/status", routes![device_status, network_status])
|
||||
}
|
||||
*/
|
||||
|
|
Loading…
Reference in New Issue