jinxapi_github/v1_1_4/request/
repos_get_branch_protection.rs1fn url_string(
9 base_url: &str,
10 p_owner: &str,
11 p_repo: &str,
12 p_branch: &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() + 48);
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 ::querylizer::Simple::extend(&mut url, &p_branch, false, &::querylizer::encode_path)?;
27 url.push_str("/protection");
28 Ok(url)
29}
30
31#[cfg(feature = "hyper")]
32pub fn http_builder(
33 base_url: &str,
34 p_owner: &str,
35 p_repo: &str,
36 p_branch: &str,
37 h_user_agent: &str,
38 h_accept: ::std::option::Option<&str>,
39) -> Result<::http::request::Builder, crate::v1_1_4::ApiError> {
40 let url = url_string(
41 base_url,
42 p_owner,
43 p_repo,
44 p_branch,
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 p_branch: &str,
74 h_user_agent: &str,
75 h_accept: ::std::option::Option<&str>,
76) -> Result<::reqwest::Request, crate::v1_1_4::ApiError> {
77 let url = url_string(
78 base_url,
79 p_owner,
80 p_repo,
81 p_branch,
82 )?;
83 let reqwest_url = ::reqwest::Url::parse(&url)?;
84 let mut request = ::reqwest::Request::new(::reqwest::Method::GET, reqwest_url);
85 let headers = request.headers_mut();
86 headers.append(
87 "User-Agent",
88 ::querylizer::Simple::to_string(&h_user_agent, false, &::querylizer::passthrough)?.try_into()?
89 );
90 if let Some(value) = &h_accept {
91 headers.append(
92 "Accept",
93 ::querylizer::Simple::to_string(value, false, &::querylizer::passthrough)?.try_into()?
94 );
95 }
96 Ok(request)
97}
98
99#[cfg(feature = "reqwest")]
100#[inline(always)]
101pub fn reqwest_request(
102 builder: ::reqwest::Request,
103) -> Result<::reqwest::Request, crate::v1_1_4::ApiError>
104{
105 Ok(builder)
106}
107
108#[cfg(feature = "reqwest-blocking")]
109pub fn reqwest_blocking_builder(
110 base_url: &str,
111 p_owner: &str,
112 p_repo: &str,
113 p_branch: &str,
114 h_user_agent: &str,
115 h_accept: ::std::option::Option<&str>,
116) -> Result<::reqwest::blocking::Request, crate::v1_1_4::ApiError> {
117 let url = url_string(
118 base_url,
119 p_owner,
120 p_repo,
121 p_branch,
122 )?;
123 let reqwest_url = ::reqwest::Url::parse(&url)?;
124 let mut request = ::reqwest::blocking::Request::new(::reqwest::Method::GET, reqwest_url);
125 let headers = request.headers_mut();
126 headers.append(
127 "User-Agent",
128 ::querylizer::Simple::to_string(&h_user_agent, false, &::querylizer::passthrough)?.try_into()?
129 );
130 if let Some(value) = &h_accept {
131 headers.append(
132 "Accept",
133 ::querylizer::Simple::to_string(value, false, &::querylizer::passthrough)?.try_into()?
134 );
135 }
136 Ok(request)
137}
138
139#[cfg(feature = "reqwest-blocking")]
140#[inline(always)]
141pub fn reqwest_blocking_request(
142 builder: ::reqwest::blocking::Request,
143) -> Result<::reqwest::blocking::Request, crate::v1_1_4::ApiError>
144{
145 Ok(builder)
146}