jinxapi_github/v1_1_4/request/
code_scanning_get_alert.rs

1//! Get a code scanning alert
2//! 
3//! Gets a single code scanning alert. You must use an access token with the `security_events` scope to use this endpoint with private repos, the `public_repo` scope also grants permission to read security events on public repos only. GitHub Apps must have the `security_events` read permission to use this endpoint.
4//! 
5//! **Deprecation notice**:
6//! The instances field is deprecated and will, in future, not be included in the response for this endpoint. The example response reflects this change. The same information can now be retrieved via a GET request to the URL specified by `instances_url`.
7//! 
8//! [API method documentation](https://docs.github.com/rest/reference/code-scanning#get-a-code-scanning-alert)
9
10
11fn url_string(
12    base_url: &str,
13    p_owner: &str,
14    p_repo: &str,
15    p_alert_number: i64,
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() + 49);
23    url.push_str(trimmed);
24    url.push_str("/repos/");
25    ::querylizer::Simple::extend(&mut url, &p_owner, false, &::querylizer::encode_path)?;
26    url.push('/');
27    ::querylizer::Simple::extend(&mut url, &p_repo, false, &::querylizer::encode_path)?;
28    url.push_str("/code-scanning/alerts/");
29    ::querylizer::Simple::extend(&mut url, &p_alert_number, false, &::querylizer::encode_path)?;
30    Ok(url)
31}
32
33#[cfg(feature = "hyper")]
34pub fn http_builder(
35    base_url: &str,
36    p_owner: &str,
37    p_repo: &str,
38    p_alert_number: i64,
39    h_user_agent: &str,
40    h_accept: ::std::option::Option<&str>,
41) -> Result<::http::request::Builder, crate::v1_1_4::ApiError> {
42    let url = url_string(
43        base_url,
44        p_owner,
45        p_repo,
46        p_alert_number,
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    p_owner: &str,
74    p_repo: &str,
75    p_alert_number: i64,
76    h_user_agent: &str,
77    h_accept: ::std::option::Option<&str>,
78) -> Result<::reqwest::Request, crate::v1_1_4::ApiError> {
79    let url = url_string(
80        base_url,
81        p_owner,
82        p_repo,
83        p_alert_number,
84    )?;
85    let reqwest_url = ::reqwest::Url::parse(&url)?;
86    let mut request = ::reqwest::Request::new(::reqwest::Method::GET, reqwest_url);
87    let headers = request.headers_mut();
88    headers.append(
89        "User-Agent",
90        ::querylizer::Simple::to_string(&h_user_agent, false, &::querylizer::passthrough)?.try_into()?
91    );
92    if let Some(value) = &h_accept {
93        headers.append(
94            "Accept",
95            ::querylizer::Simple::to_string(value, false, &::querylizer::passthrough)?.try_into()?
96        );
97    }
98    Ok(request)
99}
100
101#[cfg(feature = "reqwest")]
102#[inline(always)]
103pub fn reqwest_request(
104    builder: ::reqwest::Request,
105) -> Result<::reqwest::Request, crate::v1_1_4::ApiError>
106{
107    Ok(builder)
108}
109
110#[cfg(feature = "reqwest-blocking")]
111pub fn reqwest_blocking_builder(
112    base_url: &str,
113    p_owner: &str,
114    p_repo: &str,
115    p_alert_number: i64,
116    h_user_agent: &str,
117    h_accept: ::std::option::Option<&str>,
118) -> Result<::reqwest::blocking::Request, crate::v1_1_4::ApiError> {
119    let url = url_string(
120        base_url,
121        p_owner,
122        p_repo,
123        p_alert_number,
124    )?;
125    let reqwest_url = ::reqwest::Url::parse(&url)?;
126    let mut request = ::reqwest::blocking::Request::new(::reqwest::Method::GET, reqwest_url);
127    let headers = request.headers_mut();
128    headers.append(
129        "User-Agent",
130        ::querylizer::Simple::to_string(&h_user_agent, false, &::querylizer::passthrough)?.try_into()?
131    );
132    if let Some(value) = &h_accept {
133        headers.append(
134            "Accept",
135            ::querylizer::Simple::to_string(value, false, &::querylizer::passthrough)?.try_into()?
136        );
137    }
138    Ok(request)
139}
140
141#[cfg(feature = "reqwest-blocking")]
142#[inline(always)]
143pub fn reqwest_blocking_request(
144    builder: ::reqwest::blocking::Request,
145) -> Result<::reqwest::blocking::Request, crate::v1_1_4::ApiError>
146{
147    Ok(builder)
148}