jinxapi_github/v1_1_4/request/
gitignore_get_all_templates.rs

1//! Get all gitignore templates
2//! 
3//! List all templates available to pass as an option when [creating a repository](https://docs.github.com/rest/reference/repos#create-a-repository-for-the-authenticated-user).
4//! 
5//! [API method documentation](https://docs.github.com/rest/reference/gitignore#get-all-gitignore-templates)
6
7
8#[cfg(feature = "hyper")]
9pub fn http_builder(
10    base_url: &str,
11    h_user_agent: &str,
12    h_accept: ::std::option::Option<&str>,
13) -> Result<::http::request::Builder, crate::v1_1_4::ApiError> {
14    let default_url = concat!("https://api.github.com", "/gitignore/templates");
15    let url = if base_url.is_empty() {
16        ::http::uri::Uri::from_static(default_url)
17    } else {
18        let trimmed = base_url.trim_end_matches('/');
19        let mut url = String::with_capacity(trimmed.len() + 20);
20        url.push_str(trimmed);
21        url.push_str(&default_url[22..]);
22        url.try_into().map_err(::http::Error::from)?
23    };
24    let mut builder = ::http::request::Request::get(url);
25    builder = builder.header(
26        "User-Agent",
27        &::querylizer::Simple::to_string(&h_user_agent, false, &::querylizer::passthrough)?
28    );
29    if let Some(value) = &h_accept {
30        builder = builder.header(
31            "Accept",
32            &::querylizer::Simple::to_string(value, false, &::querylizer::passthrough)?
33        );
34    }
35    Ok(builder)
36}
37
38#[cfg(feature = "hyper")]
39#[inline]
40pub fn hyper_request(
41    builder: ::http::request::Builder,
42) -> Result<::http::request::Request<::hyper::Body>, crate::v1_1_4::ApiError> {
43    Ok(builder.body(::hyper::Body::empty())?)
44}
45
46#[cfg(feature = "reqwest")]
47pub fn reqwest_builder(
48    base_url: &str,
49    h_user_agent: &str,
50    h_accept: ::std::option::Option<&str>,
51) -> Result<::reqwest::Request, crate::v1_1_4::ApiError> {
52    let default_url = concat!("https://api.github.com", "/gitignore/templates");
53    let reqwest_url = if base_url.is_empty() {
54        ::reqwest::Url::parse(default_url)?
55    } else {
56        let trimmed = base_url.trim_end_matches('/');
57        let mut url = String::with_capacity(trimmed.len() + 20);
58        url.push_str(trimmed);
59        url.push_str(&default_url[22..]);
60        ::reqwest::Url::parse(&url)?
61    };
62    let mut request = ::reqwest::Request::new(::reqwest::Method::GET, reqwest_url);
63    let headers = request.headers_mut();
64    headers.append(
65        "User-Agent",
66        ::querylizer::Simple::to_string(&h_user_agent, false, &::querylizer::passthrough)?.try_into()?
67    );
68    if let Some(value) = &h_accept {
69        headers.append(
70            "Accept",
71            ::querylizer::Simple::to_string(value, false, &::querylizer::passthrough)?.try_into()?
72        );
73    }
74    Ok(request)
75}
76
77#[cfg(feature = "reqwest")]
78#[inline(always)]
79pub fn reqwest_request(
80    builder: ::reqwest::Request,
81) -> Result<::reqwest::Request, crate::v1_1_4::ApiError>
82{
83    Ok(builder)
84}
85
86#[cfg(feature = "reqwest-blocking")]
87pub fn reqwest_blocking_builder(
88    base_url: &str,
89    h_user_agent: &str,
90    h_accept: ::std::option::Option<&str>,
91) -> Result<::reqwest::blocking::Request, crate::v1_1_4::ApiError> {
92    let default_url = concat!("https://api.github.com", "/gitignore/templates");
93    let reqwest_url = if base_url.is_empty() {
94        ::reqwest::Url::parse(default_url)?
95    } else {
96        let trimmed = base_url.trim_end_matches('/');
97        let mut url = String::with_capacity(trimmed.len() + 20);
98        url.push_str(trimmed);
99        url.push_str(&default_url[22..]);
100        ::reqwest::Url::parse(&url)?
101    };
102    let mut request = ::reqwest::blocking::Request::new(::reqwest::Method::GET, reqwest_url);
103    let headers = request.headers_mut();
104    headers.append(
105        "User-Agent",
106        ::querylizer::Simple::to_string(&h_user_agent, false, &::querylizer::passthrough)?.try_into()?
107    );
108    if let Some(value) = &h_accept {
109        headers.append(
110            "Accept",
111            ::querylizer::Simple::to_string(value, false, &::querylizer::passthrough)?.try_into()?
112        );
113    }
114    Ok(request)
115}
116
117#[cfg(feature = "reqwest-blocking")]
118#[inline(always)]
119pub fn reqwest_blocking_request(
120    builder: ::reqwest::blocking::Request,
121) -> Result<::reqwest::blocking::Request, crate::v1_1_4::ApiError>
122{
123    Ok(builder)
124}