jinxapi_github/v1_1_4/request/
actions_get_repo_secret.rs

1//! Get a repository secret
2//! 
3//! Gets a single repository secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint.
4//! 
5//! [API method documentation](https://docs.github.com/rest/reference/actions#get-a-repository-secret)
6
7
8fn url_string(
9    base_url: &str,
10    p_owner: &str,
11    p_repo: &str,
12    p_secret_name: &str,
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() + 44);
20    url.push_str(trimmed);
21    url.push_str("/repos/");
22    ::querylizer::Simple::extend(&mut url, &p_owner, false, &::querylizer::encode_path)?;
23    url.push('/');
24    ::querylizer::Simple::extend(&mut url, &p_repo, false, &::querylizer::encode_path)?;
25    url.push_str("/actions/secrets/");
26    ::querylizer::Simple::extend(&mut url, &p_secret_name, false, &::querylizer::encode_path)?;
27    Ok(url)
28}
29
30#[cfg(feature = "hyper")]
31pub fn http_builder(
32    base_url: &str,
33    p_owner: &str,
34    p_repo: &str,
35    p_secret_name: &str,
36    h_user_agent: &str,
37    h_accept: ::std::option::Option<&str>,
38) -> Result<::http::request::Builder, crate::v1_1_4::ApiError> {
39    let url = url_string(
40        base_url,
41        p_owner,
42        p_repo,
43        p_secret_name,
44    )?;
45    let mut builder = ::http::request::Request::get(url);
46    builder = builder.header(
47        "User-Agent",
48        &::querylizer::Simple::to_string(&h_user_agent, false, &::querylizer::passthrough)?
49    );
50    if let Some(value) = &h_accept {
51        builder = builder.header(
52            "Accept",
53            &::querylizer::Simple::to_string(value, false, &::querylizer::passthrough)?
54        );
55    }
56    Ok(builder)
57}
58
59#[cfg(feature = "hyper")]
60#[inline]
61pub fn hyper_request(
62    builder: ::http::request::Builder,
63) -> Result<::http::request::Request<::hyper::Body>, crate::v1_1_4::ApiError> {
64    Ok(builder.body(::hyper::Body::empty())?)
65}
66
67#[cfg(feature = "reqwest")]
68pub fn reqwest_builder(
69    base_url: &str,
70    p_owner: &str,
71    p_repo: &str,
72    p_secret_name: &str,
73    h_user_agent: &str,
74    h_accept: ::std::option::Option<&str>,
75) -> Result<::reqwest::Request, crate::v1_1_4::ApiError> {
76    let url = url_string(
77        base_url,
78        p_owner,
79        p_repo,
80        p_secret_name,
81    )?;
82    let reqwest_url = ::reqwest::Url::parse(&url)?;
83    let mut request = ::reqwest::Request::new(::reqwest::Method::GET, reqwest_url);
84    let headers = request.headers_mut();
85    headers.append(
86        "User-Agent",
87        ::querylizer::Simple::to_string(&h_user_agent, false, &::querylizer::passthrough)?.try_into()?
88    );
89    if let Some(value) = &h_accept {
90        headers.append(
91            "Accept",
92            ::querylizer::Simple::to_string(value, false, &::querylizer::passthrough)?.try_into()?
93        );
94    }
95    Ok(request)
96}
97
98#[cfg(feature = "reqwest")]
99#[inline(always)]
100pub fn reqwest_request(
101    builder: ::reqwest::Request,
102) -> Result<::reqwest::Request, crate::v1_1_4::ApiError>
103{
104    Ok(builder)
105}
106
107#[cfg(feature = "reqwest-blocking")]
108pub fn reqwest_blocking_builder(
109    base_url: &str,
110    p_owner: &str,
111    p_repo: &str,
112    p_secret_name: &str,
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        p_owner,
119        p_repo,
120        p_secret_name,
121    )?;
122    let reqwest_url = ::reqwest::Url::parse(&url)?;
123    let mut request = ::reqwest::blocking::Request::new(::reqwest::Method::GET, reqwest_url);
124    let headers = request.headers_mut();
125    headers.append(
126        "User-Agent",
127        ::querylizer::Simple::to_string(&h_user_agent, false, &::querylizer::passthrough)?.try_into()?
128    );
129    if let Some(value) = &h_accept {
130        headers.append(
131            "Accept",
132            ::querylizer::Simple::to_string(value, false, &::querylizer::passthrough)?.try_into()?
133        );
134    }
135    Ok(request)
136}
137
138#[cfg(feature = "reqwest-blocking")]
139#[inline(always)]
140pub fn reqwest_blocking_request(
141    builder: ::reqwest::blocking::Request,
142) -> Result<::reqwest::blocking::Request, crate::v1_1_4::ApiError>
143{
144    Ok(builder)
145}