jinxapi_github/v1_1_4/request/
git_delete_ref.rs

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