jinxapi_github/v1_1_4/request/
gists_list_comments.rs

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