jinxapi_github/v1_1_4/request/
activity_get_thread.rs

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