jinxapi_github/v1_1_4/request/
issues_remove_label.rs

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