From 474995194bf1349295580618c0f96a07cade6d87 Mon Sep 17 00:00:00 2001 From: Bradlee Speice Date: Sat, 22 Oct 2016 19:21:52 -0400 Subject: [PATCH] Initial commit Includes some unimportant files --- .Cargo.toml.swp | Bin 0 -> 12288 bytes .gitignore | 3 +++ Cargo.toml | 11 ++++++++++ src/bassdrive.rs | 20 ++++++++++++++++++ src/broadcast.rs | 18 ++++++++++++++++ src/main.rs | 31 ++++++++++++++++++++++++++++ src/main_hyper.rs.bak | 47 ++++++++++++++++++++++++++++++++++++++++++ 7 files changed, 130 insertions(+) create mode 100644 .Cargo.toml.swp create mode 100644 .gitignore create mode 100644 Cargo.toml create mode 100644 src/bassdrive.rs create mode 100644 src/broadcast.rs create mode 100644 src/main.rs create mode 100644 src/main_hyper.rs.bak diff --git a/.Cargo.toml.swp b/.Cargo.toml.swp new file mode 100644 index 0000000000000000000000000000000000000000..1e0ac17cad762547e5ca675c67ef45c5f5f82de2 GIT binary patch literal 12288 zcmeI&PfEi;6bA5D1s94a>H%Wh2~AV0v)Mw#0TJq=yUI84F`3Dm$?)5ij%8jPpJ;VslejGsoxRUpe$Jduzg`hpNhDoc zW^ev%d0qLsQ7<=JwWCqR4|!pwDQ~40M!pPGB}i2m$jX6;d!eC1-y5|W^ALc**aE5Q zmK*a_+o+n^9&7rlw!Cyc_I6kZ0SG_<0uX=z1Rwwb2uz-Uic0jz$DYcMKAZQYUwuAA z2LT8`00Izz00bZa0SG_<0uX?}1PTa;Xk~%ul9T=aU;O_6;_(OPjq}2J<~(ukIWecp z$<`cl&>#Q-2tWV=5P$##AOHafKmY>&S)hLx$-W32Pg-%3Xgiv|u2V4~<1kgSnB>Yh zfBsRbd~b`d!WVDaj*MjB$iQ}G(jgM5>W6W*aa-Sy1%F3st-+OiZQB}-jo}sjy`C>z n&#*&(SMLz-n7Cn(ea|$ihN)8^{J~L%m+f_GN5Z}lJ=vjekh^FG literal 0 HcmV?d00001 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3a78405 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +target +Cargo.lock +target diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..3f9c6d2 --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,11 @@ +[package] +name = "nutone" +version = "0.1.0" +authors = ["Bradlee Speice "] + +[dependencies] +html5ever = "*" +rss = "*" +hyper = "*" +iron = "*" +router = "*" diff --git a/src/bassdrive.rs b/src/bassdrive.rs new file mode 100644 index 0000000..b22753d --- /dev/null +++ b/src/bassdrive.rs @@ -0,0 +1,20 @@ +extern crate hyper; +extern crate rss; + +use rss::Channel; +use std::str::FromStr; + +use broadcast::Broadcaster; + +pub struct BassDrive { + pub url: String +} + +impl BassDrive { +} + +impl Broadcaster for BassDrive { + fn broadcast(&self) -> Channel { + Channel::from_str("").unwrap() + } +} diff --git a/src/broadcast.rs b/src/broadcast.rs new file mode 100644 index 0000000..fa93d44 --- /dev/null +++ b/src/broadcast.rs @@ -0,0 +1,18 @@ +extern crate rss; +extern crate hyper; + +use hyper::server::{Request, Response}; +use rss::Channel; + +pub trait Broadcaster { + fn broadcast(&self) -> Channel; +} + +#[allow(unused)] +pub fn build_broadcast(b: T) -> Box { + let channel = b.broadcast(); + + Box::new(move |_: Request, res: Response| { + res.send(channel.to_string().as_bytes()); + }) +} diff --git a/src/main.rs b/src/main.rs new file mode 100644 index 0000000..98425a0 --- /dev/null +++ b/src/main.rs @@ -0,0 +1,31 @@ +extern crate iron; +extern crate router; + +use iron::Handler; +use iron::status; +use iron::IronResult; +use iron::Response; +use iron::Request; +use iron::Iron; +use router::Router; + +struct EchoHandler { + message: String +} + +impl Handler for EchoHandler { + fn handle(&self, _: &mut Request) -> IronResult { + Ok(Response::with((status::Ok, self.message.clone()))) + } +} + +fn main() { + let echo = EchoHandler { + message: "FINALLY ARE YOU FREAKING KIDDING ME".to_string() + }; + + let mut router = Router::new(); + router.get("/", echo, "index"); + + Iron::new(router).http("localhost:3000").unwrap(); +} diff --git a/src/main_hyper.rs.bak b/src/main_hyper.rs.bak new file mode 100644 index 0000000..2de7b09 --- /dev/null +++ b/src/main_hyper.rs.bak @@ -0,0 +1,47 @@ +extern crate hyper; +extern crate reroute; +extern crate rss; + +use hyper::server::{Server, Request, Response, Handler}; +use reroute::{Router, Captures}; + +mod broadcast; +mod bassdrive; + +#[allow(unused)] +fn http_404(req: Request, res: Response) { + res.send(format!("Couldn't find URL: {}", req.uri).as_bytes()); +} + +struct EchoHandler { + response: String +} + +impl EchoHandler { + fn handle(&self, _: Request, res: Response, _: Captures) { + res.send(self.response.as_bytes()); + } +} + + +#[allow(unused)] +fn main() { + let mut router = Router::new(); + + let echo = EchoHandler { + response: "Hello, world!".to_string() + }; + router.get(r"/hello", echo); + + /* + router.get(r"/hello", build_broadcast( + BassDrive { + url: "http://archives.bassdrivearchive.com/6%20-%20Saturday/Electronic%20Warfare%20-%20The%20Overfiend/" + }) + ); + */ + router.add_not_found(http_404); + router.finalize().unwrap(); + + Server::http("0.0.0.0:3000").unwrap().handle(router).unwrap(); +}