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