izihawa_ipfs_api_prelude/request/
mod.rs1pub use self::add::*;
10pub use self::bitswap::*;
11pub use self::block::*;
12pub use self::bootstrap::*;
13pub use self::cat::*;
14pub use self::commands::*;
15pub use self::config::*;
16pub use self::dag::*;
17pub use self::dht::*;
18pub use self::diag::*;
19pub use self::dns::*;
20pub use self::file::*;
21pub use self::files::*;
22pub use self::filestore::*;
23pub use self::get::*;
24pub use self::id::*;
25pub use self::key::*;
26pub use self::log::*;
27pub use self::ls::*;
28pub use self::name::*;
29pub use self::object::*;
30pub use self::pin::*;
31pub use self::ping::*;
32pub use self::pubsub::*;
33pub use self::refs::*;
34pub use self::shutdown::*;
35pub use self::stats::*;
36pub use self::swarm::*;
37pub use self::tar::*;
38pub use self::version::*;
39
40#[cfg(test)]
44macro_rules! serialize_url_test {
45 ($f: ident, $obj: expr, $exp: expr) => {
46 #[test]
47 fn $f() {
48 assert_eq!(::serde_urlencoded::to_string($obj), Ok($exp.to_string()))
49 }
50 };
51}
52
53macro_rules! impl_skip_serialize {
58 ($ty: ty) => {
59 impl ::serde::Serialize for $ty {
60 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
61 where
62 S: ::serde::Serializer,
63 {
64 serializer.serialize_none()
65 }
66 }
67 };
68}
69
70mod add;
71mod bitswap;
72mod block;
73mod bootstrap;
74mod cat;
75mod commands;
76mod config;
77mod dag;
78mod dht;
79mod diag;
80mod dns;
81mod file;
82mod files;
83mod filestore;
84mod get;
85mod id;
86mod key;
87mod log;
88mod ls;
89mod name;
90mod object;
91mod pin;
92mod ping;
93mod pubsub;
94mod refs;
95mod shutdown;
96mod stats;
97mod swarm;
98mod tar;
99mod version;
100
101use http::uri::Uri;
102use serde::Serialize;
103
104pub trait ApiRequest: Serialize + Send {
107 const PATH: &'static str;
112
113 const METHOD: http::Method = http::Method::POST;
116
117 fn absolute_url(&self, base: &Uri) -> Result<Uri, crate::Error> {
121 format!(
122 "{}{}?{}",
123 base,
124 Self::PATH,
125 serde_urlencoded::to_string(self)?
126 )
127 .parse()
128 .map_err(crate::Error::from)
129 }
130}