jinxapi_github/v1_1_4/request/
activity_get_repo_subscription.rs

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