jinxapi_github/v1_1_4/request/
gists_list_public.rs1fn url_string(
11 base_url: &str,
12 q_since: ::std::option::Option<&str>,
13 q_per_page: ::std::option::Option<i64>,
14 q_page: ::std::option::Option<i64>,
15) -> Result<String, crate::v1_1_4::ApiError> {
16 let trimmed = if base_url.is_empty() {
17 "https://api.github.com"
18 } else {
19 base_url.trim_end_matches('/')
20 };
21 let mut url = String::with_capacity(trimmed.len() + 29);
22 url.push_str(trimmed);
23 url.push_str("/gists/public");
24 let mut prefix = '?';
25 if let Some(value) = &q_since {
26 url.push(::std::mem::replace(&mut prefix, '&'));
27 ::querylizer::Form::extend(&mut url, "since", value, false, &::querylizer::encode_query)?;
28 }
29 if let Some(value) = &q_per_page {
30 url.push(::std::mem::replace(&mut prefix, '&'));
31 ::querylizer::Form::extend(&mut url, "per_page", value, false, &::querylizer::encode_query)?;
32 }
33 if let Some(value) = &q_page {
34 url.push(::std::mem::replace(&mut prefix, '&'));
35 ::querylizer::Form::extend(&mut url, "page", value, false, &::querylizer::encode_query)?;
36 }
37 Ok(url)
38}
39
40#[cfg(feature = "hyper")]
41pub fn http_builder(
42 base_url: &str,
43 q_since: ::std::option::Option<&str>,
44 q_per_page: ::std::option::Option<i64>,
45 q_page: ::std::option::Option<i64>,
46 h_user_agent: &str,
47 h_accept: ::std::option::Option<&str>,
48) -> Result<::http::request::Builder, crate::v1_1_4::ApiError> {
49 let url = url_string(
50 base_url,
51 q_since,
52 q_per_page,
53 q_page,
54 )?;
55 let mut builder = ::http::request::Request::get(url);
56 builder = builder.header(
57 "User-Agent",
58 &::querylizer::Simple::to_string(&h_user_agent, false, &::querylizer::passthrough)?
59 );
60 if let Some(value) = &h_accept {
61 builder = builder.header(
62 "Accept",
63 &::querylizer::Simple::to_string(value, false, &::querylizer::passthrough)?
64 );
65 }
66 Ok(builder)
67}
68
69#[cfg(feature = "hyper")]
70#[inline]
71pub fn hyper_request(
72 builder: ::http::request::Builder,
73) -> Result<::http::request::Request<::hyper::Body>, crate::v1_1_4::ApiError> {
74 Ok(builder.body(::hyper::Body::empty())?)
75}
76
77#[cfg(feature = "reqwest")]
78pub fn reqwest_builder(
79 base_url: &str,
80 q_since: ::std::option::Option<&str>,
81 q_per_page: ::std::option::Option<i64>,
82 q_page: ::std::option::Option<i64>,
83 h_user_agent: &str,
84 h_accept: ::std::option::Option<&str>,
85) -> Result<::reqwest::Request, crate::v1_1_4::ApiError> {
86 let url = url_string(
87 base_url,
88 q_since,
89 q_per_page,
90 q_page,
91 )?;
92 let reqwest_url = ::reqwest::Url::parse(&url)?;
93 let mut request = ::reqwest::Request::new(::reqwest::Method::GET, reqwest_url);
94 let headers = request.headers_mut();
95 headers.append(
96 "User-Agent",
97 ::querylizer::Simple::to_string(&h_user_agent, false, &::querylizer::passthrough)?.try_into()?
98 );
99 if let Some(value) = &h_accept {
100 headers.append(
101 "Accept",
102 ::querylizer::Simple::to_string(value, false, &::querylizer::passthrough)?.try_into()?
103 );
104 }
105 Ok(request)
106}
107
108#[cfg(feature = "reqwest")]
109#[inline(always)]
110pub fn reqwest_request(
111 builder: ::reqwest::Request,
112) -> Result<::reqwest::Request, crate::v1_1_4::ApiError>
113{
114 Ok(builder)
115}
116
117#[cfg(feature = "reqwest-blocking")]
118pub fn reqwest_blocking_builder(
119 base_url: &str,
120 q_since: ::std::option::Option<&str>,
121 q_per_page: ::std::option::Option<i64>,
122 q_page: ::std::option::Option<i64>,
123 h_user_agent: &str,
124 h_accept: ::std::option::Option<&str>,
125) -> Result<::reqwest::blocking::Request, crate::v1_1_4::ApiError> {
126 let url = url_string(
127 base_url,
128 q_since,
129 q_per_page,
130 q_page,
131 )?;
132 let reqwest_url = ::reqwest::Url::parse(&url)?;
133 let mut request = ::reqwest::blocking::Request::new(::reqwest::Method::GET, reqwest_url);
134 let headers = request.headers_mut();
135 headers.append(
136 "User-Agent",
137 ::querylizer::Simple::to_string(&h_user_agent, false, &::querylizer::passthrough)?.try_into()?
138 );
139 if let Some(value) = &h_accept {
140 headers.append(
141 "Accept",
142 ::querylizer::Simple::to_string(value, false, &::querylizer::passthrough)?.try_into()?
143 );
144 }
145 Ok(request)
146}
147
148#[cfg(feature = "reqwest-blocking")]
149#[inline(always)]
150pub fn reqwest_blocking_request(
151 builder: ::reqwest::blocking::Request,
152) -> Result<::reqwest::blocking::Request, crate::v1_1_4::ApiError>
153{
154 Ok(builder)
155}