graph_http/traits/
body_ext.rs

1use crate::api_impl::{BodyRead, FileConfig};
2use graph_error::GraphResult;
3
4pub trait BodyExt<RHS = Self> {
5    fn into_body(self) -> GraphResult<BodyRead>;
6}
7
8impl<U> BodyExt for &U
9where
10    U: serde::Serialize,
11{
12    fn into_body(self) -> GraphResult<BodyRead> {
13        BodyRead::from_serialize(self)
14    }
15}
16
17impl BodyExt for &FileConfig {
18    fn into_body(self) -> GraphResult<BodyRead> {
19        BodyRead::try_from(self)
20    }
21}
22
23impl BodyExt for reqwest::Body {
24    fn into_body(self) -> GraphResult<BodyRead> {
25        Ok(BodyRead::from(self))
26    }
27}
28
29impl BodyExt for reqwest::blocking::Body {
30    fn into_body(self) -> GraphResult<BodyRead> {
31        Ok(BodyRead::from(self))
32    }
33}
34
35impl BodyExt for std::fs::File {
36    fn into_body(self) -> GraphResult<BodyRead> {
37        BodyRead::from_read(self)
38    }
39}
40
41impl BodyExt for tokio::fs::File {
42    fn into_body(self) -> GraphResult<BodyRead> {
43        Ok(BodyRead::from(self))
44    }
45}