From 02b280583dcbe74fb07d8ae0c844260d814d9bc5 Mon Sep 17 00:00:00 2001 From: Darius Auding <Darius.auding@gmx.de> Date: Mon, 10 Jul 2023 12:27:11 +0200 Subject: [PATCH] Add Doc for ResponseBody trait end correct Doc for request_cookies and request_form_utils --- core/http/src/handling/request/datatypes.rs | 2 +- core/http/src/handling/request/form_utils.rs | 12 +++++----- .../http/src/handling/request/request_mime.rs | 6 ++--- core/http/src/handling/response/traits.rs | 22 +++++++++++++++++++ 4 files changed, 31 insertions(+), 11 deletions(-) diff --git a/core/http/src/handling/request/datatypes.rs b/core/http/src/handling/request/datatypes.rs index 6d37b1f..e8b0303 100644 --- a/core/http/src/handling/request/datatypes.rs +++ b/core/http/src/handling/request/datatypes.rs @@ -1,7 +1,7 @@ use std::{collections::HashMap, error::Error, fmt::Display}; use crate::{ - handling::{methods::Method, routes::Uri}, + handling::methods::Method, utils::{mime::Mime, urlencoded::UrlEncodeData}, }; diff --git a/core/http/src/handling/request/form_utils.rs b/core/http/src/handling/request/form_utils.rs index b1e3a76..7991f4d 100644 --- a/core/http/src/handling/request/form_utils.rs +++ b/core/http/src/handling/request/form_utils.rs @@ -20,14 +20,12 @@ impl Request { /// /// # Examples /// ``` - /// use http::handling::request::Request; - /// use http::handling::request::ParseFormError; - /// use http::handling::request::ParseErrors; - /// use http::handling::methods::Method; + /// use http::handling::{request::{Request, ParseFormError, ParseErrors}, methods::Method}; + /// use http::utils::urlencoded::UrlEncodeData; /// /// /// let request = Request { - /// uri: "/form?name=Name&age=Age", + /// uri: UrlEncodeData::from_encoded("/form?name=Name&age=Age").unwrap(), /// headers: vec![], /// method: Method::Get, /// cookies: None, @@ -38,7 +36,7 @@ impl Request { /// assert_eq!(&"Age", right.get("age").unwrap().as_ref().unwrap()); /// /// let wrong_request = Request { - /// uri: "/form", + /// uri: UrlEncodeData::from_encoded("/form").unwrap(), /// ..request.clone() /// }; /// assert_eq!( @@ -49,7 +47,7 @@ impl Request { /// ); /// /// let bad_data = Request { - /// uri: "/form?age=", + /// uri: UrlEncodeData::from_encoded("/form?age=").unwrap(), /// ..request.clone() /// }; /// let wrong = bad_data.get_get_form_keys(&["name", "age"]).unwrap(); diff --git a/core/http/src/handling/request/request_mime.rs b/core/http/src/handling/request/request_mime.rs index c37045e..75ad1e5 100644 --- a/core/http/src/handling/request/request_mime.rs +++ b/core/http/src/handling/request/request_mime.rs @@ -9,11 +9,11 @@ impl Request { /// ``` /// use http::{ /// handling::{methods::Method, request::Request}, - /// utils::mime::Mime, + /// utils::{mime::Mime, urlencoded::UrlEncodeData}, /// }; /// /// let mut request = Request { - /// uri: "thing", + /// uri: UrlEncodeData::from_encoded("thing").unwrap(), /// headers: vec![ /// "GET / 23".to_string(), /// "SDF:LKJSD:F".to_string(), @@ -25,7 +25,7 @@ impl Request { /// mime_type: None, /// }; /// let mut wrong = Request { - /// uri: "thing", + /// uri: UrlEncodeData::from_encoded("thing").unwrap(), /// headers: vec![ /// "GET / 23".to_string(), /// "SDF:LKJSD:F".to_string(), diff --git a/core/http/src/handling/response/traits.rs b/core/http/src/handling/response/traits.rs index fc7eb09..700c392 100644 --- a/core/http/src/handling/response/traits.rs +++ b/core/http/src/handling/response/traits.rs @@ -1,8 +1,30 @@ use crate::{handling::routes::Body, utils::mime::Mime}; pub trait ResponseBody: Send { + /// Get a cloned version of the data as a [Vec<u8>] + /// # Ecamples + /// ``` + /// use http::handling::response::ResponseBody; + /// let data = "DATA"; + /// assert_eq!(b"DATA".to_vec(), data.get_data()); + /// ``` fn get_data(&self) -> Vec<u8>; + /// get the miem type of the data as a [Mime] + /// # Examples + /// ``` + /// use http::handling::response::ResponseBody; + /// use http::utils::mime::Mime; + /// let data = "DATA"; + /// assert_eq!(Mime::TextPlain, data.get_mime()); + /// ``` fn get_mime(&self) -> Mime; + /// get the length in bytes of the data as a [usize] + /// # Examples + /// ``` + /// use http::handling::response::ResponseBody; + /// let data = "DATA"; + /// assert_eq!(4, data.get_len()); + /// ``` fn get_len(&self) -> usize; } -- GitLab