jinxapi_github/v1_1_4/request/
git_get_tree.rs1fn url_string(
11 base_url: &str,
12 p_owner: &str,
13 p_repo: &str,
14 p_tree_sha: &str,
15 q_recursive: ::std::option::Option<&str>,
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() + 38);
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("/git/trees/");
29 ::querylizer::Simple::extend(&mut url, &p_tree_sha, false, &::querylizer::encode_path)?;
30 if let Some(value) = &q_recursive {
31 url.push('?');
32 ::querylizer::Form::extend(&mut url, "recursive", value, false, &::querylizer::encode_query)?;
33 }
34 Ok(url)
35}
36
37#[cfg(feature = "hyper")]
38pub fn http_builder(
39 base_url: &str,
40 p_owner: &str,
41 p_repo: &str,
42 p_tree_sha: &str,
43 q_recursive: ::std::option::Option<&str>,
44 h_user_agent: &str,
45 h_accept: ::std::option::Option<&str>,
46) -> Result<::http::request::Builder, crate::v1_1_4::ApiError> {
47 let url = url_string(
48 base_url,
49 p_owner,
50 p_repo,
51 p_tree_sha,
52 q_recursive,
53 )?;
54 let mut builder = ::http::request::Request::get(url);
55 builder = builder.header(
56 "User-Agent",
57 &::querylizer::Simple::to_string(&h_user_agent, false, &::querylizer::passthrough)?
58 );
59 if let Some(value) = &h_accept {
60 builder = builder.header(
61 "Accept",
62 &::querylizer::Simple::to_string(value, false, &::querylizer::passthrough)?
63 );
64 }
65 Ok(builder)
66}
67
68#[cfg(feature = "hyper")]
69#[inline]
70pub fn hyper_request(
71 builder: ::http::request::Builder,
72) -> Result<::http::request::Request<::hyper::Body>, crate::v1_1_4::ApiError> {
73 Ok(builder.body(::hyper::Body::empty())?)
74}
75
76#[cfg(feature = "reqwest")]
77pub fn reqwest_builder(
78 base_url: &str,
79 p_owner: &str,
80 p_repo: &str,
81 p_tree_sha: &str,
82 q_recursive: ::std::option::Option<&str>,
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_tree_sha,
91 q_recursive,
92 )?;
93 let reqwest_url = ::reqwest::Url::parse(&url)?;
94 let mut request = ::reqwest::Request::new(::reqwest::Method::GET, reqwest_url);
95 let headers = request.headers_mut();
96 headers.append(
97 "User-Agent",
98 ::querylizer::Simple::to_string(&h_user_agent, false, &::querylizer::passthrough)?.try_into()?
99 );
100 if let Some(value) = &h_accept {
101 headers.append(
102 "Accept",
103 ::querylizer::Simple::to_string(value, false, &::querylizer::passthrough)?.try_into()?
104 );
105 }
106 Ok(request)
107}
108
109#[cfg(feature = "reqwest")]
110#[inline(always)]
111pub fn reqwest_request(
112 builder: ::reqwest::Request,
113) -> Result<::reqwest::Request, crate::v1_1_4::ApiError>
114{
115 Ok(builder)
116}
117
118#[cfg(feature = "reqwest-blocking")]
119pub fn reqwest_blocking_builder(
120 base_url: &str,
121 p_owner: &str,
122 p_repo: &str,
123 p_tree_sha: &str,
124 q_recursive: ::std::option::Option<&str>,
125 h_user_agent: &str,
126 h_accept: ::std::option::Option<&str>,
127) -> Result<::reqwest::blocking::Request, crate::v1_1_4::ApiError> {
128 let url = url_string(
129 base_url,
130 p_owner,
131 p_repo,
132 p_tree_sha,
133 q_recursive,
134 )?;
135 let reqwest_url = ::reqwest::Url::parse(&url)?;
136 let mut request = ::reqwest::blocking::Request::new(::reqwest::Method::GET, reqwest_url);
137 let headers = request.headers_mut();
138 headers.append(
139 "User-Agent",
140 ::querylizer::Simple::to_string(&h_user_agent, false, &::querylizer::passthrough)?.try_into()?
141 );
142 if let Some(value) = &h_accept {
143 headers.append(
144 "Accept",
145 ::querylizer::Simple::to_string(value, false, &::querylizer::passthrough)?.try_into()?
146 );
147 }
148 Ok(request)
149}
150
151#[cfg(feature = "reqwest-blocking")]
152#[inline(always)]
153pub fn reqwest_blocking_request(
154 builder: ::reqwest::blocking::Request,
155) -> Result<::reqwest::blocking::Request, crate::v1_1_4::ApiError>
156{
157 Ok(builder)
158}