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