From cf03b2907577972dfe3703edf6a01af5134e8aa2 Mon Sep 17 00:00:00 2001 From: Alexey Velikiy Date: Sun, 24 Oct 2021 23:30:46 +0300 Subject: [PATCH] rm builder --- server/src/api.rs | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/server/src/api.rs b/server/src/api.rs index efb89b3..27ddda2 100644 --- a/server/src/api.rs +++ b/server/src/api.rs @@ -1,8 +1,8 @@ use hastic::services::user_service; use warp::filters::method::post; use warp::http::HeaderValue; -use warp::hyper::Body; -use warp::{body, Rejection, Reply}; +use warp::hyper::{Body, StatusCode}; +use warp::{body, options, Rejection, Reply}; use warp::{http::Response, Filter}; mod auth; @@ -12,6 +12,11 @@ use serde::Serialize; use parking_lot::RwLock; use std::sync::Arc; +#[derive(Serialize)] +struct Options { + message: String, +} + pub struct API { user_service: Arc>, } @@ -40,10 +45,17 @@ impl API { } pub async fn serve(&self) { - let lg = warp::any().map(move || API::builder("not found")); + let not_found = + warp::any().map(|| warp::reply::with_status("Not found", StatusCode::NOT_FOUND)); + let options = warp::any().and(options()).map(|| { + API::json(&Options { + message: "ok".to_owned(), + }) + }); let login = auth::get_route(self.user_service.clone()); println!("Start server on 8000 port"); - warp::serve(login.or(lg)).run(([127, 0, 0, 1], 8000)).await; + let routes = login.or(options).or(not_found); + warp::serve(routes).run(([127, 0, 0, 1], 8000)).await; } }