jinxapi_github/v1_1_4/request/
actions_disable_workflow.rs

1//! Disable a workflow
2//! 
3//! Disables a workflow and sets the `state` of the workflow to `disabled_manually`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`.
4//! 
5//! You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint.
6//! 
7//! [API method documentation](https://docs.github.com/rest/reference/actions#disable-a-workflow)
8
9
10fn url_string(
11    base_url: &str,
12    p_owner: &str,
13    p_repo: &str,
14    p_workflow_id: &::serde_json::value::Value,
15) -> Result<String, crate::v1_1_4::ApiError> {
16    let trimmed = if base_url.is_empty() {
17        "https://api.github.com"
18    } else {
19        base_url.trim_end_matches('/')
20    };
21    let mut url = String::with_capacity(trimmed.len() + 54);
22    url.push_str(trimmed);
23    url.push_str("/repos/");
24    ::querylizer::Simple::extend(&mut url, &p_owner, false, &::querylizer::encode_path)?;
25    url.push('/');
26    ::querylizer::Simple::extend(&mut url, &p_repo, false, &::querylizer::encode_path)?;
27    url.push_str("/actions/workflows/");
28    ::querylizer::Simple::extend(&mut url, p_workflow_id, false, &::querylizer::encode_path)?;
29    url.push_str("/disable");
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_workflow_id: &::serde_json::value::Value,
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_workflow_id,
47    )?;
48    let mut builder = ::http::request::Request::put(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_workflow_id: &::serde_json::value::Value,
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_workflow_id,
84    )?;
85    let reqwest_url = ::reqwest::Url::parse(&url)?;
86    let mut request = ::reqwest::Request::new(::reqwest::Method::PUT, 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_workflow_id: &::serde_json::value::Value,
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_workflow_id,
124    )?;
125    let reqwest_url = ::reqwest::Url::parse(&url)?;
126    let mut request = ::reqwest::blocking::Request::new(::reqwest::Method::PUT, 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}