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