fix systemd-encoded upid strings in http client

since we systemd-encode parts of the upid string, and those can contain
characters that are invalid in urls (e.g. '\'), we have to percent encode
those

add a 'percent_encode_component' helper, so that we can maybe change
the AsciiSet for all uses at the same time

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
This commit is contained in:
Dominik Csapak
2020-11-19 10:02:52 +01:00
committed by Dietmar Maurer
parent 21b552848a
commit 968a0ab261
4 changed files with 10 additions and 4 deletions

View File

@ -2,6 +2,7 @@ use anyhow::{bail, Error};
use serde_json::json;
use super::HttpClient;
use crate::tools;
pub async fn display_task_log(
client: HttpClient,
@ -9,7 +10,7 @@ pub async fn display_task_log(
strip_date: bool,
) -> Result<(), Error> {
let path = format!("api2/json/nodes/localhost/tasks/{}/log", upid_str);
let path = format!("api2/json/nodes/localhost/tasks/{}/log", tools::percent_encode_component(upid_str));
let mut start = 1;
let limit = 500;