garage/src/api/admin/mod.rs

20 lines
403 B
Rust
Raw Normal View History

pub mod api_server;
mod router;
mod error;
2022-05-05 11:40:31 +00:00
2022-05-12 08:20:34 +00:00
mod bucket;
2022-05-05 11:40:31 +00:00
mod cluster;
mod key;
use serde::{Deserialize};
use hyper::{Request, Body};
use error::*;
pub async fn parse_json_body<T: for<'de> Deserialize<'de>>(req: Request<Body>) -> Result<T, Error> {
let body = hyper::body::to_bytes(req.into_body()).await?;
let resp: T = serde_json::from_slice(&body).ok_or_bad_request("Invalid JSON")?;
Ok(resp)
}