jinxapi_github/v1_1_4/request/
enterprise_admin_list_self_hosted_runner_groups_for_enterprise.rs

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