use serde_json::{self, Value}; use hyper::body::to_bytes; use hyper::Body; use std::u8; pub async fn parse_params(body_raw: &mut Body) -> Result { let bytes: &[u8] = &*to_bytes(body_raw).await.unwrap(); // rarely fails let values: Value; if bytes.len() == 0 { values = serde_json::from_str("{}")?; } else { values = serde_json::from_slice(bytes)?; } Ok(values) }