jinxapi_github/v1_1_4/request/
repos_list_invitations.rs1fn url_string(
9 base_url: &str,
10 p_owner: &str,
11 p_repo: &str,
12 q_per_page: ::std::option::Option<i64>,
13 q_page: ::std::option::Option<i64>,
14) -> Result<String, crate::v1_1_4::ApiError> {
15 let trimmed = if base_url.is_empty() {
16 "https://api.github.com"
17 } else {
18 base_url.trim_end_matches('/')
19 };
20 let mut url = String::with_capacity(trimmed.len() + 38);
21 url.push_str(trimmed);
22 url.push_str("/repos/");
23 ::querylizer::Simple::extend(&mut url, &p_owner, false, &::querylizer::encode_path)?;
24 url.push('/');
25 ::querylizer::Simple::extend(&mut url, &p_repo, false, &::querylizer::encode_path)?;
26 url.push_str("/invitations");
27 let mut prefix = '?';
28 if let Some(value) = &q_per_page {
29 url.push(::std::mem::replace(&mut prefix, '&'));
30 ::querylizer::Form::extend(&mut url, "per_page", value, false, &::querylizer::encode_query)?;
31 }
32 if let Some(value) = &q_page {
33 url.push(::std::mem::replace(&mut prefix, '&'));
34 ::querylizer::Form::extend(&mut url, "page", value, false, &::querylizer::encode_query)?;
35 }
36 Ok(url)
37}
38
39#[cfg(feature = "hyper")]
40pub fn http_builder(
41 base_url: &str,
42 p_owner: &str,
43 p_repo: &str,
44 q_per_page: ::std::option::Option<i64>,
45 q_page: ::std::option::Option<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 q_per_page,
54 q_page,
55 )?;
56 let mut builder = ::http::request::Request::get(url);
57 builder = builder.header(
58 "User-Agent",
59 &::querylizer::Simple::to_string(&h_user_agent, false, &::querylizer::passthrough)?
60 );
61 if let Some(value) = &h_accept {
62 builder = builder.header(
63 "Accept",
64 &::querylizer::Simple::to_string(value, false, &::querylizer::passthrough)?
65 );
66 }
67 Ok(builder)
68}
69
70#[cfg(feature = "hyper")]
71#[inline]
72pub fn hyper_request(
73 builder: ::http::request::Builder,
74) -> Result<::http::request::Request<::hyper::Body>, crate::v1_1_4::ApiError> {
75 Ok(builder.body(::hyper::Body::empty())?)
76}
77
78#[cfg(feature = "reqwest")]
79pub fn reqwest_builder(
80 base_url: &str,
81 p_owner: &str,
82 p_repo: &str,
83 q_per_page: ::std::option::Option<i64>,
84 q_page: ::std::option::Option<i64>,
85 h_user_agent: &str,
86 h_accept: ::std::option::Option<&str>,
87) -> Result<::reqwest::Request, crate::v1_1_4::ApiError> {
88 let url = url_string(
89 base_url,
90 p_owner,
91 p_repo,
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 p_owner: &str,
124 p_repo: &str,
125 q_per_page: ::std::option::Option<i64>,
126 q_page: ::std::option::Option<i64>,
127 h_user_agent: &str,
128 h_accept: ::std::option::Option<&str>,
129) -> Result<::reqwest::blocking::Request, crate::v1_1_4::ApiError> {
130 let url = url_string(
131 base_url,
132 p_owner,
133 p_repo,
134 q_per_page,
135 q_page,
136 )?;
137 let reqwest_url = ::reqwest::Url::parse(&url)?;
138 let mut request = ::reqwest::blocking::Request::new(::reqwest::Method::GET, reqwest_url);
139 let headers = request.headers_mut();
140 headers.append(
141 "User-Agent",
142 ::querylizer::Simple::to_string(&h_user_agent, false, &::querylizer::passthrough)?.try_into()?
143 );
144 if let Some(value) = &h_accept {
145 headers.append(
146 "Accept",
147 ::querylizer::Simple::to_string(value, false, &::querylizer::passthrough)?.try_into()?
148 );
149 }
150 Ok(request)
151}
152
153#[cfg(feature = "reqwest-blocking")]
154#[inline(always)]
155pub fn reqwest_blocking_request(
156 builder: ::reqwest::blocking::Request,
157) -> Result<::reqwest::blocking::Request, crate::v1_1_4::ApiError>
158{
159 Ok(builder)
160}