jinxapi_github/v1_1_4/request/
secret_scanning_get_alert.rs

1//! Get a secret scanning alert
2//! 
3//! Gets a single secret scanning alert detected in an eligible repository.
4//! To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope.
5//! For public repositories, you may instead use the `public_repo` scope.
6//! 
7//! GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint.
8//! 
9//! [API method documentation](https://docs.github.com/rest/reference/secret-scanning#get-a-secret-scanning-alert)
10
11
12fn url_string(
13    base_url: &str,
14    p_owner: &str,
15    p_repo: &str,
16    p_alert_number: i64,
17) -> Result<String, crate::v1_1_4::ApiError> {
18    let trimmed = if base_url.is_empty() {
19        "https://api.github.com"
20    } else {
21        base_url.trim_end_matches('/')
22    };
23    let mut url = String::with_capacity(trimmed.len() + 51);
24    url.push_str(trimmed);
25    url.push_str("/repos/");
26    ::querylizer::Simple::extend(&mut url, &p_owner, false, &::querylizer::encode_path)?;
27    url.push('/');
28    ::querylizer::Simple::extend(&mut url, &p_repo, false, &::querylizer::encode_path)?;
29    url.push_str("/secret-scanning/alerts/");
30    ::querylizer::Simple::extend(&mut url, &p_alert_number, false, &::querylizer::encode_path)?;
31    Ok(url)
32}
33
34#[cfg(feature = "hyper")]
35pub fn http_builder(
36    base_url: &str,
37    p_owner: &str,
38    p_repo: &str,
39    p_alert_number: 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_owner,
46        p_repo,
47        p_alert_number,
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_owner: &str,
75    p_repo: &str,
76    p_alert_number: 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_owner,
83        p_repo,
84        p_alert_number,
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_owner: &str,
115    p_repo: &str,
116    p_alert_number: 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_owner,
123        p_repo,
124        p_alert_number,
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}