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