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