jinxapi_github/v1_1_4/request/
activity_delete_repo_subscription.rs

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