jinxapi_github/v1_1_4/request/
apps_list_plans.rs

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