From 3ca642734629b108ece241ea9644f5ed1ee339cb Mon Sep 17 00:00:00 2001 From: Fuwn Date: Fri, 30 Oct 2020 12:58:50 -0700 Subject: feat (desc) feat: - add `Procfile` and `app.json` to "prep" for heroku (probably not going to go to heroku though). - implement a plugin system and enable `random_hi` plugin. - move webserver to seperate location --- src/webserver/mod.rs | 2 ++ src/webserver/model.rs | 15 +++++++++++++++ src/webserver/rocket.rs | 24 ++++++++++++++++++++++++ 3 files changed, 41 insertions(+) create mode 100644 src/webserver/mod.rs create mode 100644 src/webserver/model.rs create mode 100644 src/webserver/rocket.rs (limited to 'src/webserver') diff --git a/src/webserver/mod.rs b/src/webserver/mod.rs new file mode 100644 index 0000000..526a59d --- /dev/null +++ b/src/webserver/mod.rs @@ -0,0 +1,2 @@ +pub mod model; +pub mod rocket; diff --git a/src/webserver/model.rs b/src/webserver/model.rs new file mode 100644 index 0000000..260f1f5 --- /dev/null +++ b/src/webserver/model.rs @@ -0,0 +1,15 @@ +use serenity::framework::standard::Command; +use serenity::prelude::Mutex; +use std::collections::HashMap; +use std::sync::Arc; +use typemap::TypeMap; + +pub type WispResult = Result>; +pub type CommandMap = HashMap; + +#[derive(Clone)] +pub struct WispData { + // pub writer: Arc>, + // pub commands: CommandMap, + pub data: Arc> +} diff --git a/src/webserver/rocket.rs b/src/webserver/rocket.rs new file mode 100644 index 0000000..ac7401b --- /dev/null +++ b/src/webserver/rocket.rs @@ -0,0 +1,24 @@ +use rocket::response::content; +use rocket::{State, get, post, request::Form, routes}; +use rocket::response::NamedFile; +// use std::sync::Arc; +use crate::webserver::model::*; + +pub async fn start_rocket() -> WispResult { // ctx: WispData + rocket::ignite() + .mount("/", routes![ + icon, index + ]).launch(); + + Ok(()) +} + +#[get("/favicon.ico")] +pub fn icon() -> Option { + NamedFile::open("static/favicon.ico").ok() +} + +#[get("/")] +pub fn index() -> content::Json<&'static str> { + content::Json("{\"message\": \"online\"}") +} -- cgit v1.2.3