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