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