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