summaryrefslogtreecommitdiff
path: root/dichroism
diff options
context:
space:
mode:
authorAdam T. Carpenter <atc@53hor.net>2020-10-03 22:39:05 -0400
committerAdam T. Carpenter <atc@53hor.net>2020-10-03 22:39:05 -0400
commitf8bf353073220ce329d8eb347e3574d5793b6d26 (patch)
treee82af1a3d953c2e332a0b15e7e3b7adb059ff061 /dichroism
parent8da473460c3f82737ff34d02006ceac4c289243c (diff)
downloadtheglassyladies-f8bf353073220ce329d8eb347e3574d5793b6d26.tar.xz
theglassyladies-f8bf353073220ce329d8eb347e3574d5793b6d26.zip
moved handlers into separate module, started config
Diffstat (limited to 'dichroism')
-rw-r--r--dichroism/src/config.rs1
-rw-r--r--dichroism/src/handlers.rs29
-rw-r--r--dichroism/src/main.rs37
3 files changed, 36 insertions, 31 deletions
diff --git a/dichroism/src/config.rs b/dichroism/src/config.rs
new file mode 100644
index 0000000..e5b4046
--- /dev/null
+++ b/dichroism/src/config.rs
@@ -0,0 +1 @@
+struct Config {}
diff --git a/dichroism/src/handlers.rs b/dichroism/src/handlers.rs
new file mode 100644
index 0000000..1e0ae28
--- /dev/null
+++ b/dichroism/src/handlers.rs
@@ -0,0 +1,29 @@
+use crate::image_api;
+use actix_web::{get, post, HttpResponse, Responder};
+
+#[get("/")]
+async fn hello() -> impl Responder {
+ HttpResponse::Ok().body("Hey, this is an API!")
+}
+
+#[post("/images")]
+async fn create_image(req_body: String) -> impl Responder {
+ let data = match image_api::extract_data(&req_body) {
+ Err(e) => return HttpResponse::BadRequest().body(format!("fail: {}", e.to_string())),
+ Ok(d) => d,
+ };
+
+ if let Err(e) = image_api::generate_images(data) {
+ return HttpResponse::BadRequest().body(format!(
+ "Unable to extract image from data URI: {}",
+ e.to_string()
+ ));
+ }
+
+ HttpResponse::Ok().body("Image created.")
+}
+
+#[get("/products")]
+async fn get_products(_req_body: String) -> impl Responder {
+ HttpResponse::Ok().body("got products!")
+}
diff --git a/dichroism/src/main.rs b/dichroism/src/main.rs
index f832121..442b92d 100644
--- a/dichroism/src/main.rs
+++ b/dichroism/src/main.rs
@@ -1,48 +1,23 @@
#[macro_use]
extern crate lazy_static;
-use actix_web::{get, post, App, HttpResponse, HttpServer, Responder};
+use actix_web::{App, HttpServer};
use listenfd::ListenFd;
+mod config;
mod error;
+mod handlers;
mod image_api;
mod result;
-#[get("/")]
-async fn hello() -> impl Responder {
- HttpResponse::Ok().body("Hey, this is an API!")
-}
-
-#[post("/images")]
-async fn create_image(req_body: String) -> impl Responder {
- let data = match image_api::extract_data(&req_body) {
- Err(e) => return HttpResponse::BadRequest().body(format!("fail: {}", e.to_string())),
- Ok(d) => d,
- };
-
- if let Err(e) = image_api::generate_images(data) {
- return HttpResponse::BadRequest().body(format!(
- "Unable to extract image from data URI: {}",
- e.to_string()
- ));
- }
-
- HttpResponse::Ok().body("Image created.")
-}
-
-#[get("/products")]
-async fn get_products(_req_body: String) -> impl Responder {
- HttpResponse::Ok().body("got products!")
-}
-
#[actix_web::main]
async fn main() -> std::io::Result<()> {
let mut listenfd = ListenFd::from_env();
let mut server = HttpServer::new(|| {
App::new()
- .service(hello)
- .service(create_image)
- .service(get_products)
+ .service(handlers::hello)
+ .service(handlers::create_image)
+ .service(handlers::get_products)
});
server = if let Some(l) = listenfd