pbs-client: avoid mut self in http_client methods.

It is not necessary, so avoid it. The client can now be used
with multiple threads (without using a Mutex).

Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
This commit is contained in:
Dietmar Maurer
2021-12-04 14:11:55 +01:00
parent 7549114c9f
commit d4877712f8
8 changed files with 56 additions and 56 deletions

View File

@ -47,13 +47,13 @@ async fn start_garbage_collection(param: Value) -> Result<Value, Error> {
let store = required_string_param(&param, "store")?;
let mut client = connect_to_localhost()?;
let client = connect_to_localhost()?;
let path = format!("api2/json/admin/datastore/{}/gc", store);
let result = client.post(&path, None).await?;
view_task_result(&mut client, result, &output_format).await?;
view_task_result(&client, result, &output_format).await?;
Ok(Value::Null)
}
@ -178,9 +178,9 @@ async fn task_log(param: Value) -> Result<Value, Error> {
let upid = required_string_param(&param, "upid")?;
let mut client = connect_to_localhost()?;
let client = connect_to_localhost()?;
display_task_log(&mut client, upid, true).await?;
display_task_log(&client, upid, true).await?;
Ok(Value::Null)
}
@ -199,7 +199,7 @@ async fn task_stop(param: Value) -> Result<Value, Error> {
let upid_str = required_string_param(&param, "upid")?;
let mut client = connect_to_localhost()?;
let client = connect_to_localhost()?;
let path = format!("api2/json/nodes/localhost/tasks/{}", percent_encode_component(upid_str));
let _ = client.delete(&path, None).await?;
@ -263,7 +263,7 @@ async fn pull_datastore(
let output_format = get_output_format(&param);
let mut client = connect_to_localhost()?;
let client = connect_to_localhost()?;
let mut args = json!({
"store": local_store,
@ -281,7 +281,7 @@ async fn pull_datastore(
let result = client.post("api2/json/pull", Some(args)).await?;
view_task_result(&mut client, result, &output_format).await?;
view_task_result(&client, result, &output_format).await?;
Ok(Value::Null)
}
@ -315,7 +315,7 @@ async fn verify(
let output_format = extract_output_format(&mut param);
let mut client = connect_to_localhost()?;
let client = connect_to_localhost()?;
let args = json!(param);
@ -323,7 +323,7 @@ async fn verify(
let result = client.post(&path, Some(args)).await?;
view_task_result(&mut client, result, &output_format).await?;
view_task_result(&client, result, &output_format).await?;
Ok(Value::Null)
}

View File

@ -146,12 +146,12 @@ async fn format_media(mut param: Value) -> Result<(), Error> {
let drive = extract_drive_name(&mut param, &config)?;
let mut client = connect_to_localhost()?;
let client = connect_to_localhost()?;
let path = format!("api2/json/tape/drive/{}/format-media", drive);
let result = client.post(&path, Some(param)).await?;
view_task_result(&mut client, result, &output_format).await?;
view_task_result(&client, result, &output_format).await?;
Ok(())
}
@ -179,12 +179,12 @@ async fn rewind(mut param: Value) -> Result<(), Error> {
let drive = extract_drive_name(&mut param, &config)?;
let mut client = connect_to_localhost()?;
let client = connect_to_localhost()?;
let path = format!("api2/json/tape/drive/{}/rewind", drive);
let result = client.post(&path, Some(param)).await?;
view_task_result(&mut client, result, &output_format).await?;
view_task_result(&client, result, &output_format).await?;
Ok(())
}
@ -212,12 +212,12 @@ async fn eject_media(mut param: Value) -> Result<(), Error> {
let drive = extract_drive_name(&mut param, &config)?;
let mut client = connect_to_localhost()?;
let client = connect_to_localhost()?;
let path = format!("api2/json/tape/drive/{}/eject-media", drive);
let result = client.post(&path, Some(param)).await?;
view_task_result(&mut client, result, &output_format).await?;
view_task_result(&client, result, &output_format).await?;
Ok(())
}
@ -248,12 +248,12 @@ async fn load_media(mut param: Value) -> Result<(), Error> {
let drive = extract_drive_name(&mut param, &config)?;
let mut client = connect_to_localhost()?;
let client = connect_to_localhost()?;
let path = format!("api2/json/tape/drive/{}/load-media", drive);
let result = client.post(&path, Some(param)).await?;
view_task_result(&mut client, result, &output_format).await?;
view_task_result(&client, result, &output_format).await?;
Ok(())
}
@ -278,7 +278,7 @@ async fn export_media(mut param: Value) -> Result<(), Error> {
let drive = extract_drive_name(&mut param, &config)?;
let mut client = connect_to_localhost()?;
let client = connect_to_localhost()?;
let path = format!("api2/json/tape/drive/{}/export-media", drive);
client.put(&path, Some(param)).await?;
@ -308,7 +308,7 @@ async fn load_media_from_slot(mut param: Value) -> Result<(), Error> {
let drive = extract_drive_name(&mut param, &config)?;
let mut client = connect_to_localhost()?;
let client = connect_to_localhost()?;
let path = format!("api2/json/tape/drive/{}/load-slot", drive);
client.put(&path, Some(param)).await?;
@ -345,12 +345,12 @@ async fn unload_media(mut param: Value) -> Result<(), Error> {
let drive = extract_drive_name(&mut param, &config)?;
let mut client = connect_to_localhost()?;
let client = connect_to_localhost()?;
let path = format!("api2/json/tape/drive/{}/unload", drive);
let result = client.post(&path, Some(param)).await?;
view_task_result(&mut client, result, &output_format).await?;
view_task_result(&client, result, &output_format).await?;
Ok(())
}
@ -385,12 +385,12 @@ async fn label_media(mut param: Value) -> Result<(), Error> {
let drive = extract_drive_name(&mut param, &config)?;
let mut client = connect_to_localhost()?;
let client = connect_to_localhost()?;
let path = format!("api2/json/tape/drive/{}/label-media", drive);
let result = client.post(&path, Some(param)).await?;
view_task_result(&mut client, result, &output_format).await?;
view_task_result(&client, result, &output_format).await?;
Ok(())
}
@ -484,7 +484,7 @@ async fn inventory(
let do_read = read_labels.unwrap_or(false) || read_all_labels.unwrap_or(false);
let mut client = connect_to_localhost()?;
let client = connect_to_localhost()?;
let path = format!("api2/json/tape/drive/{}/inventory", drive);
@ -496,7 +496,7 @@ async fn inventory(
}
let result = client.put(&path, Some(param)).await?; // update inventory
view_task_result(&mut client, result, &output_format).await?;
view_task_result(&client, result, &output_format).await?;
}
let mut result = client.get(&path, None).await?;
@ -541,12 +541,12 @@ async fn barcode_label_media(mut param: Value) -> Result<(), Error> {
let drive = extract_drive_name(&mut param, &config)?;
let mut client = connect_to_localhost()?;
let client = connect_to_localhost()?;
let path = format!("api2/json/tape/drive/{}/barcode-label-media", drive);
let result = client.post(&path, Some(param)).await?;
view_task_result(&mut client, result, &output_format).await?;
view_task_result(&client, result, &output_format).await?;
Ok(())
}
@ -819,12 +819,12 @@ async fn clean_drive(mut param: Value) -> Result<(), Error> {
let drive = extract_drive_name(&mut param, &config)?;
let mut client = connect_to_localhost()?;
let client = connect_to_localhost()?;
let path = format!("api2/json/tape/drive/{}/clean", drive);
let result = client.put(&path, Some(param)).await?;
view_task_result(&mut client, result, &output_format).await?;
view_task_result(&client, result, &output_format).await?;
Ok(())
}
@ -894,11 +894,11 @@ async fn backup(mut param: Value) -> Result<(), Error> {
param["drive"] = extract_drive_name(&mut param, &config)?.into();
let mut client = connect_to_localhost()?;
let client = connect_to_localhost()?;
let result = client.post("api2/json/tape/backup", Some(param)).await?;
view_task_result(&mut client, result, &output_format).await?;
view_task_result(&client, result, &output_format).await?;
Ok(())
}
@ -949,11 +949,11 @@ async fn restore(mut param: Value) -> Result<(), Error> {
param["drive"] = extract_drive_name(&mut param, &config)?.into();
let mut client = connect_to_localhost()?;
let client = connect_to_localhost()?;
let result = client.post("api2/json/tape/restore", Some(param)).await?;
view_task_result(&mut client, result, &output_format).await?;
view_task_result(&client, result, &output_format).await?;
Ok(())
}
@ -996,12 +996,12 @@ async fn catalog_media(mut param: Value) -> Result<(), Error> {
let drive = extract_drive_name(&mut param, &config)?;
let mut client = connect_to_localhost()?;
let client = connect_to_localhost()?;
let path = format!("api2/json/tape/drive/{}/catalog", drive);
let result = client.post(&path, Some(param)).await?;
view_task_result(&mut client, result, &output_format).await?;
view_task_result(&client, result, &output_format).await?;
Ok(())
}

View File

@ -190,7 +190,7 @@ async fn call_api(
}
async fn call_api_http(method: &str, path: &str, params: Option<Value>) -> Result<Value, Error> {
let mut client = connect_to_localhost()?;
let client = connect_to_localhost()?;
let path = format!(
"api2/json/{}",
@ -260,8 +260,8 @@ async fn call_api_and_format_result(
if let Some(upid) = result.as_str() {
if PROXMOX_UPID_REGEX.is_match(upid) {
if use_http_client() {
let mut client = connect_to_localhost()?;
view_task_result(&mut client, json!({ "data": upid }), &output_format).await?;
let client = connect_to_localhost()?;
view_task_result(&client, json!({ "data": upid }), &output_format).await?;
return Ok(());
}