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