jinxapi_github/v1_1_4/request/
issues_remove_all_labels.rs

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