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