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