use reqwest::header::CONTENT_LENGTH;
use reqwest_middleware::{ClientWithMiddleware as Client, RequestBuilder};
use crate::http::job::Job;
#[derive(Clone, PartialEq, serde::Deserialize, serde::Serialize, Debug, Default)]
#[serde(rename_all = "camelCase")]
pub struct CancelJobRequest {
pub location: Option<String>,
}
#[derive(Clone, PartialEq, serde::Deserialize, serde::Serialize, Debug, Default)]
#[serde(rename_all = "camelCase")]
pub struct CancelJobResponse {
pub kind: String,
pub job: Job,
}
pub fn build(
base_url: &str,
client: &Client,
project_id: &str,
job_id: &str,
data: &CancelJobRequest,
) -> RequestBuilder {
let url = format!("{}/projects/{}/jobs/{}/cancel", base_url, project_id, job_id);
client.post(url).query(data).header(CONTENT_LENGTH, 0)
}