Mercurial > lbo > hg > async-google-apis
changeset 20:fe401e1e025c
Encode URL parameters.
author | Lewin Bormann <lbo@spheniscida.de> |
---|---|
date | Sat, 17 Oct 2020 19:27:57 +0200 |
parents | 1db57f1c1b8e |
children | 474387f2a457 |
files | drive_example/Cargo.lock drive_example/Cargo.toml drive_example/src/drive_v3_types.rs drive_example/src/main.rs generate/templates.py |
diffstat | 5 files changed, 318 insertions(+), 160 deletions(-) [+] |
line wrap: on
line diff
--- a/drive_example/Cargo.lock Sat Oct 17 19:16:45 2020 +0200 +++ b/drive_example/Cargo.lock Sat Oct 17 19:27:57 2020 +0200 @@ -107,6 +107,7 @@ "chrono", "hyper", "hyper-rustls", + "percent-encoding", "serde", "serde_json", "tokio",
--- a/drive_example/Cargo.toml Sat Oct 17 19:16:45 2020 +0200 +++ b/drive_example/Cargo.toml Sat Oct 17 19:27:57 2020 +0200 @@ -7,11 +7,12 @@ # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] +anyhow = "~1.0" chrono = "~0.4" hyper = "~0.13" hyper-rustls = "~0.20" +percent-encoding = "~2.1" serde = "~1.0" serde_json = "~1.0" tokio = { version = "~0.2", features = ["full"] } yup-oauth2 = "~4" -anyhow = "~1.0"
--- a/drive_example/src/drive_v3_types.rs Sat Oct 17 19:16:45 2020 +0200 +++ b/drive_example/src/drive_v3_types.rs Sat Oct 17 19:27:57 2020 +0200 @@ -3,6 +3,7 @@ use chrono::{DateTime, Utc}; use anyhow::{Error, Result}; use std::collections::HashMap; +use percent_encoding::{percent_encode, NON_ALPHANUMERIC}; pub type TlsConnr = hyper_rustls::HttpsConnector<hyper::client::HttpConnector>; pub type TlsClient = hyper::Client<TlsConnr, hyper::Body>; @@ -2381,16 +2382,20 @@ let tok = self.authenticator.token(&self.scopes).await?; let mut url_params = format!("?oauth_token={token}&fields=*", token=tok.as_str()); if let Some(ref val) = ¶ms.drive_id { - url_params.push_str(&format!("&driveId={}", val)); + url_params.push_str(&format!("&driveId={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.supports_all_drives { - url_params.push_str(&format!("&supportsAllDrives={}", val)); + url_params.push_str(&format!("&supportsAllDrives={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.supports_team_drives { - url_params.push_str(&format!("&supportsTeamDrives={}", val)); + url_params.push_str(&format!("&supportsTeamDrives={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.team_drive_id { - url_params.push_str(&format!("&teamDriveId={}", val)); + url_params.push_str(&format!("&teamDriveId={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } let full_uri = path + &url_params; @@ -2432,42 +2437,55 @@ let tok = self.authenticator.token(&self.scopes).await?; let mut url_params = format!("?oauth_token={token}&fields=*", token=tok.as_str()); if let Some(ref val) = ¶ms.drive_id { - url_params.push_str(&format!("&driveId={}", val)); + url_params.push_str(&format!("&driveId={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.include_corpus_removals { - url_params.push_str(&format!("&includeCorpusRemovals={}", val)); + url_params.push_str(&format!("&includeCorpusRemovals={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.include_items_from_all_drives { - url_params.push_str(&format!("&includeItemsFromAllDrives={}", val)); + url_params.push_str(&format!("&includeItemsFromAllDrives={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.include_permissions_for_view { - url_params.push_str(&format!("&includePermissionsForView={}", val)); + url_params.push_str(&format!("&includePermissionsForView={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.include_removed { - url_params.push_str(&format!("&includeRemoved={}", val)); + url_params.push_str(&format!("&includeRemoved={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.include_team_drive_items { - url_params.push_str(&format!("&includeTeamDriveItems={}", val)); + url_params.push_str(&format!("&includeTeamDriveItems={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.page_size { - url_params.push_str(&format!("&pageSize={}", val)); + url_params.push_str(&format!("&pageSize={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.restrict_to_my_drive { - url_params.push_str(&format!("&restrictToMyDrive={}", val)); + url_params.push_str(&format!("&restrictToMyDrive={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.spaces { - url_params.push_str(&format!("&spaces={}", val)); + url_params.push_str(&format!("&spaces={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.supports_all_drives { - url_params.push_str(&format!("&supportsAllDrives={}", val)); + url_params.push_str(&format!("&supportsAllDrives={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.supports_team_drives { - url_params.push_str(&format!("&supportsTeamDrives={}", val)); + url_params.push_str(&format!("&supportsTeamDrives={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.team_drive_id { - url_params.push_str(&format!("&teamDriveId={}", val)); - } - url_params.push_str(&format!("&pageToken={}", params.page_token)); + url_params.push_str(&format!("&teamDriveId={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); + } + url_params.push_str(&format!("&pageToken={}", + percent_encode(format!("{}", params.page_token).as_bytes(), NON_ALPHANUMERIC).to_string())); let full_uri = path + &url_params; let reqb = hyper::Request::builder() @@ -2508,42 +2526,55 @@ let tok = self.authenticator.token(&self.scopes).await?; let mut url_params = format!("?oauth_token={token}&fields=*", token=tok.as_str()); if let Some(ref val) = ¶ms.drive_id { - url_params.push_str(&format!("&driveId={}", val)); + url_params.push_str(&format!("&driveId={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.include_corpus_removals { - url_params.push_str(&format!("&includeCorpusRemovals={}", val)); + url_params.push_str(&format!("&includeCorpusRemovals={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.include_items_from_all_drives { - url_params.push_str(&format!("&includeItemsFromAllDrives={}", val)); + url_params.push_str(&format!("&includeItemsFromAllDrives={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.include_permissions_for_view { - url_params.push_str(&format!("&includePermissionsForView={}", val)); + url_params.push_str(&format!("&includePermissionsForView={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.include_removed { - url_params.push_str(&format!("&includeRemoved={}", val)); + url_params.push_str(&format!("&includeRemoved={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.include_team_drive_items { - url_params.push_str(&format!("&includeTeamDriveItems={}", val)); + url_params.push_str(&format!("&includeTeamDriveItems={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.page_size { - url_params.push_str(&format!("&pageSize={}", val)); + url_params.push_str(&format!("&pageSize={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.restrict_to_my_drive { - url_params.push_str(&format!("&restrictToMyDrive={}", val)); + url_params.push_str(&format!("&restrictToMyDrive={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.spaces { - url_params.push_str(&format!("&spaces={}", val)); + url_params.push_str(&format!("&spaces={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.supports_all_drives { - url_params.push_str(&format!("&supportsAllDrives={}", val)); + url_params.push_str(&format!("&supportsAllDrives={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.supports_team_drives { - url_params.push_str(&format!("&supportsTeamDrives={}", val)); + url_params.push_str(&format!("&supportsTeamDrives={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.team_drive_id { - url_params.push_str(&format!("&teamDriveId={}", val)); - } - url_params.push_str(&format!("&pageToken={}", params.page_token)); + url_params.push_str(&format!("&teamDriveId={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); + } + url_params.push_str(&format!("&pageToken={}", + percent_encode(format!("{}", params.page_token).as_bytes(), NON_ALPHANUMERIC).to_string())); let full_uri = path + &url_params; let reqb = hyper::Request::builder() @@ -2744,7 +2775,8 @@ let tok = self.authenticator.token(&self.scopes).await?; let mut url_params = format!("?oauth_token={token}&fields=*", token=tok.as_str()); if let Some(ref val) = ¶ms.include_deleted { - url_params.push_str(&format!("&includeDeleted={}", val)); + url_params.push_str(&format!("&includeDeleted={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } let full_uri = path + &url_params; @@ -2782,16 +2814,20 @@ let tok = self.authenticator.token(&self.scopes).await?; let mut url_params = format!("?oauth_token={token}&fields=*", token=tok.as_str()); if let Some(ref val) = ¶ms.include_deleted { - url_params.push_str(&format!("&includeDeleted={}", val)); + url_params.push_str(&format!("&includeDeleted={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.page_size { - url_params.push_str(&format!("&pageSize={}", val)); + url_params.push_str(&format!("&pageSize={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.page_token { - url_params.push_str(&format!("&pageToken={}", val)); + url_params.push_str(&format!("&pageToken={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.start_modified_time { - url_params.push_str(&format!("&startModifiedTime={}", val)); + url_params.push_str(&format!("&startModifiedTime={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } let full_uri = path + &url_params; @@ -2886,7 +2922,8 @@ } let tok = self.authenticator.token(&self.scopes).await?; let mut url_params = format!("?oauth_token={token}&fields=*", token=tok.as_str()); - url_params.push_str(&format!("&requestId={}", params.request_id)); + url_params.push_str(&format!("&requestId={}", + percent_encode(format!("{}", params.request_id).as_bytes(), NON_ALPHANUMERIC).to_string())); let full_uri = path + &url_params; let reqb = hyper::Request::builder() @@ -2960,7 +2997,8 @@ let tok = self.authenticator.token(&self.scopes).await?; let mut url_params = format!("?oauth_token={token}&fields=*", token=tok.as_str()); if let Some(ref val) = ¶ms.use_domain_admin_access { - url_params.push_str(&format!("&useDomainAdminAccess={}", val)); + url_params.push_str(&format!("&useDomainAdminAccess={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } let full_uri = path + &url_params; @@ -3030,16 +3068,20 @@ let tok = self.authenticator.token(&self.scopes).await?; let mut url_params = format!("?oauth_token={token}&fields=*", token=tok.as_str()); if let Some(ref val) = ¶ms.page_size { - url_params.push_str(&format!("&pageSize={}", val)); + url_params.push_str(&format!("&pageSize={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.page_token { - url_params.push_str(&format!("&pageToken={}", val)); + url_params.push_str(&format!("&pageToken={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.q { - url_params.push_str(&format!("&q={}", val)); + url_params.push_str(&format!("&q={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.use_domain_admin_access { - url_params.push_str(&format!("&useDomainAdminAccess={}", val)); + url_params.push_str(&format!("&useDomainAdminAccess={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } let full_uri = path + &url_params; @@ -3108,7 +3150,8 @@ let tok = self.authenticator.token(&self.scopes).await?; let mut url_params = format!("?oauth_token={token}&fields=*", token=tok.as_str()); if let Some(ref val) = ¶ms.use_domain_admin_access { - url_params.push_str(&format!("&useDomainAdminAccess={}", val)); + url_params.push_str(&format!("&useDomainAdminAccess={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } let full_uri = path + &url_params; @@ -3173,25 +3216,32 @@ let tok = self.authenticator.token(&self.scopes).await?; let mut url_params = format!("?oauth_token={token}&fields=*", token=tok.as_str()); if let Some(ref val) = ¶ms.enforce_single_parent { - url_params.push_str(&format!("&enforceSingleParent={}", val)); + url_params.push_str(&format!("&enforceSingleParent={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.ignore_default_visibility { - url_params.push_str(&format!("&ignoreDefaultVisibility={}", val)); + url_params.push_str(&format!("&ignoreDefaultVisibility={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.include_permissions_for_view { - url_params.push_str(&format!("&includePermissionsForView={}", val)); + url_params.push_str(&format!("&includePermissionsForView={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.keep_revision_forever { - url_params.push_str(&format!("&keepRevisionForever={}", val)); + url_params.push_str(&format!("&keepRevisionForever={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.ocr_language { - url_params.push_str(&format!("&ocrLanguage={}", val)); + url_params.push_str(&format!("&ocrLanguage={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.supports_all_drives { - url_params.push_str(&format!("&supportsAllDrives={}", val)); + url_params.push_str(&format!("&supportsAllDrives={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.supports_team_drives { - url_params.push_str(&format!("&supportsTeamDrives={}", val)); + url_params.push_str(&format!("&supportsTeamDrives={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } let full_uri = path + &url_params; @@ -3234,28 +3284,36 @@ let tok = self.authenticator.token(&self.scopes).await?; let mut url_params = format!("?oauth_token={token}&fields=*", token=tok.as_str()); if let Some(ref val) = ¶ms.enforce_single_parent { - url_params.push_str(&format!("&enforceSingleParent={}", val)); + url_params.push_str(&format!("&enforceSingleParent={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.ignore_default_visibility { - url_params.push_str(&format!("&ignoreDefaultVisibility={}", val)); + url_params.push_str(&format!("&ignoreDefaultVisibility={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.include_permissions_for_view { - url_params.push_str(&format!("&includePermissionsForView={}", val)); + url_params.push_str(&format!("&includePermissionsForView={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.keep_revision_forever { - url_params.push_str(&format!("&keepRevisionForever={}", val)); + url_params.push_str(&format!("&keepRevisionForever={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.ocr_language { - url_params.push_str(&format!("&ocrLanguage={}", val)); + url_params.push_str(&format!("&ocrLanguage={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.supports_all_drives { - url_params.push_str(&format!("&supportsAllDrives={}", val)); + url_params.push_str(&format!("&supportsAllDrives={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.supports_team_drives { - url_params.push_str(&format!("&supportsTeamDrives={}", val)); + url_params.push_str(&format!("&supportsTeamDrives={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.use_content_as_indexable_text { - url_params.push_str(&format!("&useContentAsIndexableText={}", val)); + url_params.push_str(&format!("&useContentAsIndexableText={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } let full_uri = path + &url_params; @@ -3291,28 +3349,36 @@ let mut url_params = format!("?uploadType=media&oauth_token={token}&fields=*", token=tok.as_str()); if let Some(ref val) = ¶ms.enforce_single_parent { - url_params.push_str(&format!("&enforceSingleParent={}", val)); + url_params.push_str(&format!("&enforceSingleParent={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.ignore_default_visibility { - url_params.push_str(&format!("&ignoreDefaultVisibility={}", val)); + url_params.push_str(&format!("&ignoreDefaultVisibility={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.include_permissions_for_view { - url_params.push_str(&format!("&includePermissionsForView={}", val)); + url_params.push_str(&format!("&includePermissionsForView={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.keep_revision_forever { - url_params.push_str(&format!("&keepRevisionForever={}", val)); + url_params.push_str(&format!("&keepRevisionForever={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.ocr_language { - url_params.push_str(&format!("&ocrLanguage={}", val)); + url_params.push_str(&format!("&ocrLanguage={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.supports_all_drives { - url_params.push_str(&format!("&supportsAllDrives={}", val)); + url_params.push_str(&format!("&supportsAllDrives={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.supports_team_drives { - url_params.push_str(&format!("&supportsTeamDrives={}", val)); + url_params.push_str(&format!("&supportsTeamDrives={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.use_content_as_indexable_text { - url_params.push_str(&format!("&useContentAsIndexableText={}", val)); + url_params.push_str(&format!("&useContentAsIndexableText={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } let full_uri = path + &url_params; @@ -3349,13 +3415,16 @@ let tok = self.authenticator.token(&self.scopes).await?; let mut url_params = format!("?oauth_token={token}&fields=*", token=tok.as_str()); if let Some(ref val) = ¶ms.enforce_single_parent { - url_params.push_str(&format!("&enforceSingleParent={}", val)); + url_params.push_str(&format!("&enforceSingleParent={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.supports_all_drives { - url_params.push_str(&format!("&supportsAllDrives={}", val)); + url_params.push_str(&format!("&supportsAllDrives={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.supports_team_drives { - url_params.push_str(&format!("&supportsTeamDrives={}", val)); + url_params.push_str(&format!("&supportsTeamDrives={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } let full_uri = path + &url_params; @@ -3391,7 +3460,8 @@ let tok = self.authenticator.token(&self.scopes).await?; let mut url_params = format!("?oauth_token={token}&fields=*", token=tok.as_str()); if let Some(ref val) = ¶ms.enforce_single_parent { - url_params.push_str(&format!("&enforceSingleParent={}", val)); + url_params.push_str(&format!("&enforceSingleParent={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } let full_uri = path + &url_params; @@ -3428,7 +3498,8 @@ } let tok = self.authenticator.token(&self.scopes).await?; let mut url_params = format!("?oauth_token={token}&fields=*", token=tok.as_str()); - url_params.push_str(&format!("&mimeType={}", params.mime_type)); + url_params.push_str(&format!("&mimeType={}", + percent_encode(format!("{}", params.mime_type).as_bytes(), NON_ALPHANUMERIC).to_string())); let full_uri = path + &url_params; let reqb = hyper::Request::builder() @@ -3465,10 +3536,12 @@ let tok = self.authenticator.token(&self.scopes).await?; let mut url_params = format!("?oauth_token={token}&fields=*", token=tok.as_str()); if let Some(ref val) = ¶ms.count { - url_params.push_str(&format!("&count={}", val)); + url_params.push_str(&format!("&count={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.space { - url_params.push_str(&format!("&space={}", val)); + url_params.push_str(&format!("&space={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } let full_uri = path + &url_params; @@ -3510,16 +3583,20 @@ let tok = self.authenticator.token(&self.scopes).await?; let mut url_params = format!("?oauth_token={token}&fields=*", token=tok.as_str()); if let Some(ref val) = ¶ms.acknowledge_abuse { - url_params.push_str(&format!("&acknowledgeAbuse={}", val)); + url_params.push_str(&format!("&acknowledgeAbuse={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.include_permissions_for_view { - url_params.push_str(&format!("&includePermissionsForView={}", val)); + url_params.push_str(&format!("&includePermissionsForView={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.supports_all_drives { - url_params.push_str(&format!("&supportsAllDrives={}", val)); + url_params.push_str(&format!("&supportsAllDrives={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.supports_team_drives { - url_params.push_str(&format!("&supportsTeamDrives={}", val)); + url_params.push_str(&format!("&supportsTeamDrives={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } let full_uri = path + &url_params; @@ -3561,50 +3638,63 @@ let tok = self.authenticator.token(&self.scopes).await?; let mut url_params = format!("?oauth_token={token}&fields=*", token=tok.as_str()); if let Some(ref val) = ¶ms.corpora { - url_params.push_str(&format!("&corpora={}", val)); + url_params.push_str(&format!("&corpora={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.corpus { - url_params.push_str(&format!("&corpus={}", val)); + url_params.push_str(&format!("&corpus={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.drive_id { - url_params.push_str(&format!("&driveId={}", val)); + url_params.push_str(&format!("&driveId={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.include_items_from_all_drives { - url_params.push_str(&format!("&includeItemsFromAllDrives={}", val)); + url_params.push_str(&format!("&includeItemsFromAllDrives={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.include_permissions_for_view { - url_params.push_str(&format!("&includePermissionsForView={}", val)); + url_params.push_str(&format!("&includePermissionsForView={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.include_team_drive_items { - url_params.push_str(&format!("&includeTeamDriveItems={}", val)); + url_params.push_str(&format!("&includeTeamDriveItems={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.order_by { - url_params.push_str(&format!("&orderBy={}", val)); + url_params.push_str(&format!("&orderBy={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.page_size { - url_params.push_str(&format!("&pageSize={}", val)); + url_params.push_str(&format!("&pageSize={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.page_token { - url_params.push_str(&format!("&pageToken={}", val)); + url_params.push_str(&format!("&pageToken={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.q { - url_params.push_str(&format!("&q={}", val)); + url_params.push_str(&format!("&q={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.spaces { - url_params.push_str(&format!("&spaces={}", val)); + url_params.push_str(&format!("&spaces={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.supports_all_drives { - url_params.push_str(&format!("&supportsAllDrives={}", val)); + url_params.push_str(&format!("&supportsAllDrives={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.supports_team_drives { - url_params.push_str(&format!("&supportsTeamDrives={}", val)); + url_params.push_str(&format!("&supportsTeamDrives={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.team_drive_id { - url_params.push_str(&format!("&teamDriveId={}", val)); + url_params.push_str(&format!("&teamDriveId={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } let full_uri = path + &url_params; - println!("{}", full_uri); let reqb = hyper::Request::builder() .uri(full_uri) .method("GET") @@ -3641,31 +3731,40 @@ let tok = self.authenticator.token(&self.scopes).await?; let mut url_params = format!("?oauth_token={token}&fields=*", token=tok.as_str()); if let Some(ref val) = ¶ms.add_parents { - url_params.push_str(&format!("&addParents={}", val)); + url_params.push_str(&format!("&addParents={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.enforce_single_parent { - url_params.push_str(&format!("&enforceSingleParent={}", val)); + url_params.push_str(&format!("&enforceSingleParent={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.include_permissions_for_view { - url_params.push_str(&format!("&includePermissionsForView={}", val)); + url_params.push_str(&format!("&includePermissionsForView={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.keep_revision_forever { - url_params.push_str(&format!("&keepRevisionForever={}", val)); + url_params.push_str(&format!("&keepRevisionForever={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.ocr_language { - url_params.push_str(&format!("&ocrLanguage={}", val)); + url_params.push_str(&format!("&ocrLanguage={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.remove_parents { - url_params.push_str(&format!("&removeParents={}", val)); + url_params.push_str(&format!("&removeParents={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.supports_all_drives { - url_params.push_str(&format!("&supportsAllDrives={}", val)); + url_params.push_str(&format!("&supportsAllDrives={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.supports_team_drives { - url_params.push_str(&format!("&supportsTeamDrives={}", val)); + url_params.push_str(&format!("&supportsTeamDrives={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.use_content_as_indexable_text { - url_params.push_str(&format!("&useContentAsIndexableText={}", val)); + url_params.push_str(&format!("&useContentAsIndexableText={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } let full_uri = path + &url_params; @@ -3701,31 +3800,40 @@ let mut url_params = format!("?uploadType=media&oauth_token={token}&fields=*", token=tok.as_str()); if let Some(ref val) = ¶ms.add_parents { - url_params.push_str(&format!("&addParents={}", val)); + url_params.push_str(&format!("&addParents={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.enforce_single_parent { - url_params.push_str(&format!("&enforceSingleParent={}", val)); + url_params.push_str(&format!("&enforceSingleParent={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.include_permissions_for_view { - url_params.push_str(&format!("&includePermissionsForView={}", val)); + url_params.push_str(&format!("&includePermissionsForView={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.keep_revision_forever { - url_params.push_str(&format!("&keepRevisionForever={}", val)); + url_params.push_str(&format!("&keepRevisionForever={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.ocr_language { - url_params.push_str(&format!("&ocrLanguage={}", val)); + url_params.push_str(&format!("&ocrLanguage={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.remove_parents { - url_params.push_str(&format!("&removeParents={}", val)); + url_params.push_str(&format!("&removeParents={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.supports_all_drives { - url_params.push_str(&format!("&supportsAllDrives={}", val)); + url_params.push_str(&format!("&supportsAllDrives={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.supports_team_drives { - url_params.push_str(&format!("&supportsTeamDrives={}", val)); + url_params.push_str(&format!("&supportsTeamDrives={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.use_content_as_indexable_text { - url_params.push_str(&format!("&useContentAsIndexableText={}", val)); + url_params.push_str(&format!("&useContentAsIndexableText={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } let full_uri = path + &url_params; @@ -3766,16 +3874,20 @@ let tok = self.authenticator.token(&self.scopes).await?; let mut url_params = format!("?oauth_token={token}&fields=*", token=tok.as_str()); if let Some(ref val) = ¶ms.acknowledge_abuse { - url_params.push_str(&format!("&acknowledgeAbuse={}", val)); + url_params.push_str(&format!("&acknowledgeAbuse={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.include_permissions_for_view { - url_params.push_str(&format!("&includePermissionsForView={}", val)); + url_params.push_str(&format!("&includePermissionsForView={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.supports_all_drives { - url_params.push_str(&format!("&supportsAllDrives={}", val)); + url_params.push_str(&format!("&supportsAllDrives={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.supports_team_drives { - url_params.push_str(&format!("&supportsTeamDrives={}", val)); + url_params.push_str(&format!("&supportsTeamDrives={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } let full_uri = path + &url_params; @@ -3838,28 +3950,36 @@ let tok = self.authenticator.token(&self.scopes).await?; let mut url_params = format!("?oauth_token={token}&fields=*", token=tok.as_str()); if let Some(ref val) = ¶ms.email_message { - url_params.push_str(&format!("&emailMessage={}", val)); + url_params.push_str(&format!("&emailMessage={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.enforce_single_parent { - url_params.push_str(&format!("&enforceSingleParent={}", val)); + url_params.push_str(&format!("&enforceSingleParent={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.move_to_new_owners_root { - url_params.push_str(&format!("&moveToNewOwnersRoot={}", val)); + url_params.push_str(&format!("&moveToNewOwnersRoot={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.send_notification_email { - url_params.push_str(&format!("&sendNotificationEmail={}", val)); + url_params.push_str(&format!("&sendNotificationEmail={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.supports_all_drives { - url_params.push_str(&format!("&supportsAllDrives={}", val)); + url_params.push_str(&format!("&supportsAllDrives={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.supports_team_drives { - url_params.push_str(&format!("&supportsTeamDrives={}", val)); + url_params.push_str(&format!("&supportsTeamDrives={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.transfer_ownership { - url_params.push_str(&format!("&transferOwnership={}", val)); + url_params.push_str(&format!("&transferOwnership={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.use_domain_admin_access { - url_params.push_str(&format!("&useDomainAdminAccess={}", val)); + url_params.push_str(&format!("&useDomainAdminAccess={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } let full_uri = path + &url_params; @@ -3901,13 +4021,16 @@ let tok = self.authenticator.token(&self.scopes).await?; let mut url_params = format!("?oauth_token={token}&fields=*", token=tok.as_str()); if let Some(ref val) = ¶ms.supports_all_drives { - url_params.push_str(&format!("&supportsAllDrives={}", val)); + url_params.push_str(&format!("&supportsAllDrives={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.supports_team_drives { - url_params.push_str(&format!("&supportsTeamDrives={}", val)); + url_params.push_str(&format!("&supportsTeamDrives={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.use_domain_admin_access { - url_params.push_str(&format!("&useDomainAdminAccess={}", val)); + url_params.push_str(&format!("&useDomainAdminAccess={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } let full_uri = path + &url_params; @@ -3948,13 +4071,16 @@ let tok = self.authenticator.token(&self.scopes).await?; let mut url_params = format!("?oauth_token={token}&fields=*", token=tok.as_str()); if let Some(ref val) = ¶ms.supports_all_drives { - url_params.push_str(&format!("&supportsAllDrives={}", val)); + url_params.push_str(&format!("&supportsAllDrives={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.supports_team_drives { - url_params.push_str(&format!("&supportsTeamDrives={}", val)); + url_params.push_str(&format!("&supportsTeamDrives={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.use_domain_admin_access { - url_params.push_str(&format!("&useDomainAdminAccess={}", val)); + url_params.push_str(&format!("&useDomainAdminAccess={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } let full_uri = path + &url_params; @@ -3995,22 +4121,28 @@ let tok = self.authenticator.token(&self.scopes).await?; let mut url_params = format!("?oauth_token={token}&fields=*", token=tok.as_str()); if let Some(ref val) = ¶ms.include_permissions_for_view { - url_params.push_str(&format!("&includePermissionsForView={}", val)); + url_params.push_str(&format!("&includePermissionsForView={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.page_size { - url_params.push_str(&format!("&pageSize={}", val)); + url_params.push_str(&format!("&pageSize={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.page_token { - url_params.push_str(&format!("&pageToken={}", val)); + url_params.push_str(&format!("&pageToken={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.supports_all_drives { - url_params.push_str(&format!("&supportsAllDrives={}", val)); + url_params.push_str(&format!("&supportsAllDrives={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.supports_team_drives { - url_params.push_str(&format!("&supportsTeamDrives={}", val)); + url_params.push_str(&format!("&supportsTeamDrives={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.use_domain_admin_access { - url_params.push_str(&format!("&useDomainAdminAccess={}", val)); + url_params.push_str(&format!("&useDomainAdminAccess={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } let full_uri = path + &url_params; @@ -4047,19 +4179,24 @@ let tok = self.authenticator.token(&self.scopes).await?; let mut url_params = format!("?oauth_token={token}&fields=*", token=tok.as_str()); if let Some(ref val) = ¶ms.remove_expiration { - url_params.push_str(&format!("&removeExpiration={}", val)); + url_params.push_str(&format!("&removeExpiration={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.supports_all_drives { - url_params.push_str(&format!("&supportsAllDrives={}", val)); + url_params.push_str(&format!("&supportsAllDrives={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.supports_team_drives { - url_params.push_str(&format!("&supportsTeamDrives={}", val)); + url_params.push_str(&format!("&supportsTeamDrives={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.transfer_ownership { - url_params.push_str(&format!("&transferOwnership={}", val)); + url_params.push_str(&format!("&transferOwnership={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.use_domain_admin_access { - url_params.push_str(&format!("&useDomainAdminAccess={}", val)); + url_params.push_str(&format!("&useDomainAdminAccess={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } let full_uri = path + &url_params; @@ -4196,7 +4333,8 @@ let tok = self.authenticator.token(&self.scopes).await?; let mut url_params = format!("?oauth_token={token}&fields=*", token=tok.as_str()); if let Some(ref val) = ¶ms.include_deleted { - url_params.push_str(&format!("&includeDeleted={}", val)); + url_params.push_str(&format!("&includeDeleted={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } let full_uri = path + &url_params; @@ -4234,13 +4372,16 @@ let tok = self.authenticator.token(&self.scopes).await?; let mut url_params = format!("?oauth_token={token}&fields=*", token=tok.as_str()); if let Some(ref val) = ¶ms.include_deleted { - url_params.push_str(&format!("&includeDeleted={}", val)); + url_params.push_str(&format!("&includeDeleted={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.page_size { - url_params.push_str(&format!("&pageSize={}", val)); + url_params.push_str(&format!("&pageSize={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.page_token { - url_params.push_str(&format!("&pageToken={}", val)); + url_params.push_str(&format!("&pageToken={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } let full_uri = path + &url_params; @@ -4377,7 +4518,8 @@ let tok = self.authenticator.token(&self.scopes).await?; let mut url_params = format!("?oauth_token={token}&fields=*", token=tok.as_str()); if let Some(ref val) = ¶ms.acknowledge_abuse { - url_params.push_str(&format!("&acknowledgeAbuse={}", val)); + url_params.push_str(&format!("&acknowledgeAbuse={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } let full_uri = path + &url_params; @@ -4419,10 +4561,12 @@ let tok = self.authenticator.token(&self.scopes).await?; let mut url_params = format!("?oauth_token={token}&fields=*", token=tok.as_str()); if let Some(ref val) = ¶ms.page_size { - url_params.push_str(&format!("&pageSize={}", val)); + url_params.push_str(&format!("&pageSize={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.page_token { - url_params.push_str(&format!("&pageToken={}", val)); + url_params.push_str(&format!("&pageToken={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } let full_uri = path + &url_params; @@ -4518,7 +4662,8 @@ } let tok = self.authenticator.token(&self.scopes).await?; let mut url_params = format!("?oauth_token={token}&fields=*", token=tok.as_str()); - url_params.push_str(&format!("&requestId={}", params.request_id)); + url_params.push_str(&format!("&requestId={}", + percent_encode(format!("{}", params.request_id).as_bytes(), NON_ALPHANUMERIC).to_string())); let full_uri = path + &url_params; let reqb = hyper::Request::builder() @@ -4592,7 +4737,8 @@ let tok = self.authenticator.token(&self.scopes).await?; let mut url_params = format!("?oauth_token={token}&fields=*", token=tok.as_str()); if let Some(ref val) = ¶ms.use_domain_admin_access { - url_params.push_str(&format!("&useDomainAdminAccess={}", val)); + url_params.push_str(&format!("&useDomainAdminAccess={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } let full_uri = path + &url_params; @@ -4629,16 +4775,20 @@ let tok = self.authenticator.token(&self.scopes).await?; let mut url_params = format!("?oauth_token={token}&fields=*", token=tok.as_str()); if let Some(ref val) = ¶ms.page_size { - url_params.push_str(&format!("&pageSize={}", val)); + url_params.push_str(&format!("&pageSize={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.page_token { - url_params.push_str(&format!("&pageToken={}", val)); + url_params.push_str(&format!("&pageToken={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.q { - url_params.push_str(&format!("&q={}", val)); + url_params.push_str(&format!("&q={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } if let Some(ref val) = ¶ms.use_domain_admin_access { - url_params.push_str(&format!("&useDomainAdminAccess={}", val)); + url_params.push_str(&format!("&useDomainAdminAccess={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } let full_uri = path + &url_params; @@ -4674,7 +4824,8 @@ let tok = self.authenticator.token(&self.scopes).await?; let mut url_params = format!("?oauth_token={token}&fields=*", token=tok.as_str()); if let Some(ref val) = ¶ms.use_domain_admin_access { - url_params.push_str(&format!("&useDomainAdminAccess={}", val)); + url_params.push_str(&format!("&useDomainAdminAccess={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } let full_uri = path + &url_params;
--- a/drive_example/src/main.rs Sat Oct 17 19:16:45 2020 +0200 +++ b/drive_example/src/main.rs Sat Oct 17 19:27:57 2020 +0200 @@ -77,7 +77,7 @@ } else { // By default, list root directory. let mut p = drive::FilesListParams::default(); - p.q = Some("'root'+in+parents".to_string()); + p.q = Some("'root' in parents".to_string()); let resp = cl.list(&p).await.expect("listing your Drive failed!"); if let Some(files) = resp.files { for f in files {
--- a/generate/templates.py Sat Oct 17 19:16:45 2020 +0200 +++ b/generate/templates.py Sat Oct 17 19:27:57 2020 +0200 @@ -4,6 +4,7 @@ use chrono::{DateTime, Utc}; use anyhow::{Error, Result}; use std::collections::HashMap; +use percent_encoding::{percent_encode, NON_ALPHANUMERIC}; pub type TlsConnr = hyper_rustls::HttpsConnector<hyper::client::HttpConnector>; pub type TlsClient = hyper::Client<TlsConnr, hyper::Body>; @@ -89,11 +90,13 @@ let mut url_params = format!("?oauth_token={token}&fields=*", token=tok.as_str()); {{#params}} if let Some(ref val) = ¶ms.{{{snake_param}}} { - url_params.push_str(&format!("&{{{param}}}={}", val)); + url_params.push_str(&format!("&{{{param}}}={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } {{/params}} {{#required_params}} - url_params.push_str(&format!("&{{{param}}}={}", params.{{{snake_param}}})); + url_params.push_str(&format!("&{{{param}}}={}", + percent_encode(format!("{}", params.{{{snake_param}}}).as_bytes(), NON_ALPHANUMERIC).to_string())); {{/required_params}} let full_uri = path + &url_params; @@ -138,11 +141,13 @@ {{#params}} if let Some(ref val) = ¶ms.{{{snake_param}}} { - url_params.push_str(&format!("&{{{param}}}={}", val)); + url_params.push_str(&format!("&{{{param}}}={}", + percent_encode(format!("{}", val).as_bytes(), NON_ALPHANUMERIC).to_string())); } {{/params}} {{#required_params}} - url_params.push_str(&format!("&{{{param}}}={}", params.{{{snake_param}}})); + url_params.push_str(&format!("&{{{param}}}={}", + percent_encode(format!("{}", params.{{{snake_param}}}).as_bytes(), NON_ALPHANUMERIC).to_string())); {{/required_params}} let full_uri = path + &url_params;