jinxapi_github/v1_1_4/request/
teams_list.rs

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