jinxapi_github/v1_1_4/request/
teams_delete_discussion_legacy.rs

1//! Delete a discussion (Legacy)
2//! 
3//! **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Delete a discussion`](https://docs.github.com/rest/reference/teams#delete-a-discussion) endpoint.
4//! 
5//! Delete a discussion from a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).
6//! 
7//! [API method documentation](https://docs.github.com/rest/reference/teams#delete-a-discussion-legacy)
8
9
10fn url_string(
11    base_url: &str,
12    p_team_id: i64,
13    p_discussion_number: i64,
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() + 38);
21    url.push_str(trimmed);
22    url.push_str("/teams/");
23    ::querylizer::Simple::extend(&mut url, &p_team_id, false, &::querylizer::encode_path)?;
24    url.push_str("/discussions/");
25    ::querylizer::Simple::extend(&mut url, &p_discussion_number, false, &::querylizer::encode_path)?;
26    Ok(url)
27}
28
29#[cfg(feature = "hyper")]
30pub fn http_builder(
31    base_url: &str,
32    p_team_id: i64,
33    p_discussion_number: i64,
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_team_id,
40        p_discussion_number,
41    )?;
42    let mut builder = ::http::request::Request::delete(url);
43    builder = builder.header(
44        "User-Agent",
45        &::querylizer::Simple::to_string(&h_user_agent, false, &::querylizer::passthrough)?
46    );
47    if let Some(value) = &h_accept {
48        builder = builder.header(
49            "Accept",
50            &::querylizer::Simple::to_string(value, false, &::querylizer::passthrough)?
51        );
52    }
53    Ok(builder)
54}
55
56#[cfg(feature = "hyper")]
57#[inline]
58pub fn hyper_request(
59    builder: ::http::request::Builder,
60) -> Result<::http::request::Request<::hyper::Body>, crate::v1_1_4::ApiError> {
61    Ok(builder.body(::hyper::Body::empty())?)
62}
63
64#[cfg(feature = "reqwest")]
65pub fn reqwest_builder(
66    base_url: &str,
67    p_team_id: i64,
68    p_discussion_number: i64,
69    h_user_agent: &str,
70    h_accept: ::std::option::Option<&str>,
71) -> Result<::reqwest::Request, crate::v1_1_4::ApiError> {
72    let url = url_string(
73        base_url,
74        p_team_id,
75        p_discussion_number,
76    )?;
77    let reqwest_url = ::reqwest::Url::parse(&url)?;
78    let mut request = ::reqwest::Request::new(::reqwest::Method::DELETE, reqwest_url);
79    let headers = request.headers_mut();
80    headers.append(
81        "User-Agent",
82        ::querylizer::Simple::to_string(&h_user_agent, false, &::querylizer::passthrough)?.try_into()?
83    );
84    if let Some(value) = &h_accept {
85        headers.append(
86            "Accept",
87            ::querylizer::Simple::to_string(value, false, &::querylizer::passthrough)?.try_into()?
88        );
89    }
90    Ok(request)
91}
92
93#[cfg(feature = "reqwest")]
94#[inline(always)]
95pub fn reqwest_request(
96    builder: ::reqwest::Request,
97) -> Result<::reqwest::Request, crate::v1_1_4::ApiError>
98{
99    Ok(builder)
100}
101
102#[cfg(feature = "reqwest-blocking")]
103pub fn reqwest_blocking_builder(
104    base_url: &str,
105    p_team_id: i64,
106    p_discussion_number: i64,
107    h_user_agent: &str,
108    h_accept: ::std::option::Option<&str>,
109) -> Result<::reqwest::blocking::Request, crate::v1_1_4::ApiError> {
110    let url = url_string(
111        base_url,
112        p_team_id,
113        p_discussion_number,
114    )?;
115    let reqwest_url = ::reqwest::Url::parse(&url)?;
116    let mut request = ::reqwest::blocking::Request::new(::reqwest::Method::DELETE, reqwest_url);
117    let headers = request.headers_mut();
118    headers.append(
119        "User-Agent",
120        ::querylizer::Simple::to_string(&h_user_agent, false, &::querylizer::passthrough)?.try_into()?
121    );
122    if let Some(value) = &h_accept {
123        headers.append(
124            "Accept",
125            ::querylizer::Simple::to_string(value, false, &::querylizer::passthrough)?.try_into()?
126        );
127    }
128    Ok(request)
129}
130
131#[cfg(feature = "reqwest-blocking")]
132#[inline(always)]
133pub fn reqwest_blocking_request(
134    builder: ::reqwest::blocking::Request,
135) -> Result<::reqwest::blocking::Request, crate::v1_1_4::ApiError>
136{
137    Ok(builder)
138}