graph_http/traits/
body_ext.rs1use 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}