From 7e5d8998b08b76e6e4c4196e9deefa22a4991b8b Mon Sep 17 00:00:00 2001 From: Sebastian Thiel Date: Sat, 1 Oct 2022 09:44:42 +0800 Subject: [PATCH] regen drive3 with thread::sleep fix --- gen/drive3-cli/Cargo.toml | 4 +- gen/drive3-cli/README.md | 2 +- gen/drive3-cli/mkdocs.yml | 2 +- gen/drive3-cli/src/main.rs | 2 +- gen/drive3/Cargo.toml | 4 +- gen/drive3/README.md | 100 +++++++++---------- gen/drive3/src/api.rs | 194 ++++++++++++++++++------------------- gen/drive3/src/lib.rs | 2 +- 8 files changed, 155 insertions(+), 155 deletions(-) diff --git a/gen/drive3-cli/Cargo.toml b/gen/drive3-cli/Cargo.toml index e5b4178776..ba7b47a370 100644 --- a/gen/drive3-cli/Cargo.toml +++ b/gen/drive3-cli/Cargo.toml @@ -4,7 +4,7 @@ [package] name = "google-drive3-cli" -version = "4.0.3+20220225" +version = "4.0.4+20220225" authors = ["Sebastian Thiel "] description = "A complete library to interact with drive (protocol v3)" repository = "https://github.com/Byron/google-apis-rs/tree/main/gen/drive3-cli" @@ -38,7 +38,7 @@ tower-service = "^0.3.1" [dependencies.google-drive3] path = "../drive3" -version = "4.0.3+20220225" +version = "4.0.4+20220225" # [features] # default = ["yup-oauth2"] diff --git a/gen/drive3-cli/README.md b/gen/drive3-cli/README.md index 35df91df60..cdb59a2d32 100644 --- a/gen/drive3-cli/README.md +++ b/gen/drive3-cli/README.md @@ -25,7 +25,7 @@ Find the source code [on github](https://github.com/Byron/google-apis-rs/tree/ma # Usage -This documentation was generated from the *drive* API at revision *20220225*. The CLI is at version *4.0.3*. +This documentation was generated from the *drive* API at revision *20220225*. The CLI is at version *4.0.4*. ```bash drive3 [options] diff --git a/gen/drive3-cli/mkdocs.yml b/gen/drive3-cli/mkdocs.yml index 044a26a373..d7649e5499 100644 --- a/gen/drive3-cli/mkdocs.yml +++ b/gen/drive3-cli/mkdocs.yml @@ -1,4 +1,4 @@ -site_name: drive v4.0.3+20220225 +site_name: drive v4.0.4+20220225 site_url: http://byron.github.io/google-apis-rs/google-drive3-cli site_description: A complete library to interact with drive (protocol v3) diff --git a/gen/drive3-cli/src/main.rs b/gen/drive3-cli/src/main.rs index 5b1a38b9e6..1c127a3504 100644 --- a/gen/drive3-cli/src/main.rs +++ b/gen/drive3-cli/src/main.rs @@ -5510,7 +5510,7 @@ async fn main() { let mut app = App::new("drive3") .author("Sebastian Thiel ") - .version("4.0.3+20220225") + .version("4.0.4+20220225") .about("Manages files in Drive including uploading, downloading, searching, detecting changes, and updating sharing permissions.") .after_help("All documentation details can be found at http://byron.github.io/google-apis-rs/google_drive3_cli") .arg(Arg::with_name("url") diff --git a/gen/drive3/Cargo.toml b/gen/drive3/Cargo.toml index d553300ab2..e2e2bea8f2 100644 --- a/gen/drive3/Cargo.toml +++ b/gen/drive3/Cargo.toml @@ -4,12 +4,12 @@ [package] name = "google-drive3" -version = "4.0.3+20220225" +version = "4.0.4+20220225" authors = ["Sebastian Thiel "] description = "A complete library to interact with drive (protocol v3)" repository = "https://github.com/Byron/google-apis-rs/tree/main/gen/drive3" homepage = "https://developers.google.com/drive/" -documentation = "https://docs.rs/google-drive3/4.0.3+20220225" +documentation = "https://docs.rs/google-drive3/4.0.4+20220225" license = "MIT" keywords = ["drive", "google", "protocol", "web", "api"] autobins = false diff --git a/gen/drive3/README.md b/gen/drive3/README.md index fa1129d0e9..549f791be0 100644 --- a/gen/drive3/README.md +++ b/gen/drive3/README.md @@ -5,55 +5,55 @@ DO NOT EDIT ! --> The `google-drive3` library allows access to all features of the *Google drive* service. -This documentation was generated from *drive* crate version *4.0.3+20220225*, where *20220225* is the exact revision of the *drive:v3* schema built by the [mako](http://www.makotemplates.org/) code generator *v4.0.3*. +This documentation was generated from *drive* crate version *4.0.4+20220225*, where *20220225* is the exact revision of the *drive:v3* schema built by the [mako](http://www.makotemplates.org/) code generator *v4.0.4*. Everything else about the *drive* *v3* API can be found at the [official documentation site](https://developers.google.com/drive/). # Features -Handle the following *Resources* with ease from the central [hub](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/DriveHub) ... +Handle the following *Resources* with ease from the central [hub](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/DriveHub) ... -* [about](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/api::About) - * [*get*](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/api::AboutGetCall) -* [changes](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/api::Change) - * [*get start page token*](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/api::ChangeGetStartPageTokenCall), [*list*](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/api::ChangeListCall) and [*watch*](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/api::ChangeWatchCall) -* [channels](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/api::Channel) - * [*stop*](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/api::ChannelStopCall) -* [comments](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/api::Comment) - * [*create*](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/api::CommentCreateCall), [*delete*](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/api::CommentDeleteCall), [*get*](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/api::CommentGetCall), [*list*](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/api::CommentListCall) and [*update*](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/api::CommentUpdateCall) -* [drives](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/api::Drive) - * [*create*](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/api::DriveCreateCall), [*delete*](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/api::DriveDeleteCall), [*get*](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/api::DriveGetCall), [*hide*](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/api::DriveHideCall), [*list*](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/api::DriveListCall), [*unhide*](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/api::DriveUnhideCall) and [*update*](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/api::DriveUpdateCall) -* [files](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/api::File) - * [*copy*](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/api::FileCopyCall), [*create*](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/api::FileCreateCall), [*delete*](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/api::FileDeleteCall), [*empty trash*](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/api::FileEmptyTrashCall), [*export*](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/api::FileExportCall), [*generate ids*](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/api::FileGenerateIdCall), [*get*](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/api::FileGetCall), [*list*](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/api::FileListCall), [*update*](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/api::FileUpdateCall) and [*watch*](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/api::FileWatchCall) -* [permissions](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/api::Permission) - * [*create*](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/api::PermissionCreateCall), [*delete*](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/api::PermissionDeleteCall), [*get*](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/api::PermissionGetCall), [*list*](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/api::PermissionListCall) and [*update*](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/api::PermissionUpdateCall) -* [replies](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/api::Reply) - * [*create*](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/api::ReplyCreateCall), [*delete*](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/api::ReplyDeleteCall), [*get*](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/api::ReplyGetCall), [*list*](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/api::ReplyListCall) and [*update*](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/api::ReplyUpdateCall) -* [revisions](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/api::Revision) - * [*delete*](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/api::RevisionDeleteCall), [*get*](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/api::RevisionGetCall), [*list*](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/api::RevisionListCall) and [*update*](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/api::RevisionUpdateCall) +* [about](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/api::About) + * [*get*](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/api::AboutGetCall) +* [changes](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/api::Change) + * [*get start page token*](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/api::ChangeGetStartPageTokenCall), [*list*](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/api::ChangeListCall) and [*watch*](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/api::ChangeWatchCall) +* [channels](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/api::Channel) + * [*stop*](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/api::ChannelStopCall) +* [comments](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/api::Comment) + * [*create*](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/api::CommentCreateCall), [*delete*](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/api::CommentDeleteCall), [*get*](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/api::CommentGetCall), [*list*](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/api::CommentListCall) and [*update*](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/api::CommentUpdateCall) +* [drives](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/api::Drive) + * [*create*](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/api::DriveCreateCall), [*delete*](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/api::DriveDeleteCall), [*get*](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/api::DriveGetCall), [*hide*](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/api::DriveHideCall), [*list*](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/api::DriveListCall), [*unhide*](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/api::DriveUnhideCall) and [*update*](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/api::DriveUpdateCall) +* [files](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/api::File) + * [*copy*](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/api::FileCopyCall), [*create*](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/api::FileCreateCall), [*delete*](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/api::FileDeleteCall), [*empty trash*](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/api::FileEmptyTrashCall), [*export*](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/api::FileExportCall), [*generate ids*](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/api::FileGenerateIdCall), [*get*](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/api::FileGetCall), [*list*](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/api::FileListCall), [*update*](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/api::FileUpdateCall) and [*watch*](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/api::FileWatchCall) +* [permissions](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/api::Permission) + * [*create*](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/api::PermissionCreateCall), [*delete*](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/api::PermissionDeleteCall), [*get*](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/api::PermissionGetCall), [*list*](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/api::PermissionListCall) and [*update*](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/api::PermissionUpdateCall) +* [replies](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/api::Reply) + * [*create*](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/api::ReplyCreateCall), [*delete*](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/api::ReplyDeleteCall), [*get*](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/api::ReplyGetCall), [*list*](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/api::ReplyListCall) and [*update*](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/api::ReplyUpdateCall) +* [revisions](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/api::Revision) + * [*delete*](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/api::RevisionDeleteCall), [*get*](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/api::RevisionGetCall), [*list*](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/api::RevisionListCall) and [*update*](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/api::RevisionUpdateCall) * teamdrives - * [*create*](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/api::TeamdriveCreateCall), [*delete*](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/api::TeamdriveDeleteCall), [*get*](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/api::TeamdriveGetCall), [*list*](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/api::TeamdriveListCall) and [*update*](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/api::TeamdriveUpdateCall) + * [*create*](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/api::TeamdriveCreateCall), [*delete*](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/api::TeamdriveDeleteCall), [*get*](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/api::TeamdriveGetCall), [*list*](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/api::TeamdriveListCall) and [*update*](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/api::TeamdriveUpdateCall) Upload supported by ... -* [*create files*](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/api::FileCreateCall) -* [*update files*](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/api::FileUpdateCall) +* [*create files*](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/api::FileCreateCall) +* [*update files*](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/api::FileUpdateCall) Download supported by ... -* [*export files*](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/api::FileExportCall) -* [*get files*](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/api::FileGetCall) -* [*watch files*](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/api::FileWatchCall) -* [*get revisions*](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/api::RevisionGetCall) +* [*export files*](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/api::FileExportCall) +* [*get files*](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/api::FileGetCall) +* [*watch files*](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/api::FileWatchCall) +* [*get revisions*](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/api::RevisionGetCall) Subscription supported by ... -* [*list changes*](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/api::ChangeListCall) -* [*watch changes*](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/api::ChangeWatchCall) -* [*create files*](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/api::FileCreateCall) -* [*get files*](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/api::FileGetCall) -* [*watch files*](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/api::FileWatchCall) +* [*list changes*](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/api::ChangeListCall) +* [*watch changes*](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/api::ChangeWatchCall) +* [*create files*](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/api::FileCreateCall) +* [*get files*](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/api::FileGetCall) +* [*watch files*](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/api::FileWatchCall) @@ -61,17 +61,17 @@ Subscription supported by ... The API is structured into the following primary items: -* **[Hub](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/DriveHub)** +* **[Hub](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/DriveHub)** * a central object to maintain state and allow accessing all *Activities* - * creates [*Method Builders*](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/client::MethodsBuilder) which in turn - allow access to individual [*Call Builders*](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/client::CallBuilder) -* **[Resources](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/client::Resource)** + * creates [*Method Builders*](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/client::MethodsBuilder) which in turn + allow access to individual [*Call Builders*](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/client::CallBuilder) +* **[Resources](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/client::Resource)** * primary types that you can apply *Activities* to * a collection of properties and *Parts* - * **[Parts](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/client::Part)** + * **[Parts](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/client::Part)** * a collection of properties * never directly used in *Activities* -* **[Activities](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/client::CallBuilder)** +* **[Activities](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/client::CallBuilder)** * operations to apply to *Resources* All *structures* are marked with applicable traits to further categorize them and ease browsing. @@ -179,17 +179,17 @@ match result { ``` ## Handling Errors -All errors produced by the system are provided either as [Result](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/client::Result) enumeration as return value of +All errors produced by the system are provided either as [Result](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/client::Result) enumeration as return value of the doit() methods, or handed as possibly intermediate results to either the -[Hub Delegate](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/client::Delegate), or the [Authenticator Delegate](https://docs.rs/yup-oauth2/*/yup_oauth2/trait.AuthenticatorDelegate.html). +[Hub Delegate](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/client::Delegate), or the [Authenticator Delegate](https://docs.rs/yup-oauth2/*/yup_oauth2/trait.AuthenticatorDelegate.html). When delegates handle errors or intermediate values, they may have a chance to instruct the system to retry. This makes the system potentially resilient to all kinds of errors. ## Uploads and Downloads -If a method supports downloads, the response body, which is part of the [Result](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/client::Result), should be +If a method supports downloads, the response body, which is part of the [Result](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/client::Result), should be read by you to obtain the media. -If such a method also supports a [Response Result](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/client::ResponseResult), it will return that by default. +If such a method also supports a [Response Result](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/client::ResponseResult), it will return that by default. You can see it as meta-data for the actual media. To trigger a media download, you will have to set up the builder by making this call: `.param("alt", "media")`. @@ -199,29 +199,29 @@ Methods supporting uploads can do so using up to 2 different protocols: ## Customization and Callbacks -You may alter the way an `doit()` method is called by providing a [delegate](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/client::Delegate) to the -[Method Builder](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/client::CallBuilder) before making the final `doit()` call. +You may alter the way an `doit()` method is called by providing a [delegate](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/client::Delegate) to the +[Method Builder](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/client::CallBuilder) before making the final `doit()` call. Respective methods will be called to provide progress information, as well as determine whether the system should retry on failure. -The [delegate trait](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/client::Delegate) is default-implemented, allowing you to customize it with minimal effort. +The [delegate trait](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/client::Delegate) is default-implemented, allowing you to customize it with minimal effort. ## Optional Parts in Server-Requests -All structures provided by this library are made to be [encodable](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/client::RequestValue) and -[decodable](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/client::ResponseResult) via *json*. Optionals are used to indicate that partial requests are responses +All structures provided by this library are made to be [encodable](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/client::RequestValue) and +[decodable](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/client::ResponseResult) via *json*. Optionals are used to indicate that partial requests are responses are valid. -Most optionals are are considered [Parts](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/client::Part) which are identifiable by name, which will be sent to +Most optionals are are considered [Parts](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/client::Part) which are identifiable by name, which will be sent to the server to indicate either the set parts of the request or the desired parts in the response. ## Builder Arguments -Using [method builders](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/client::CallBuilder), you are able to prepare an action call by repeatedly calling it's methods. +Using [method builders](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/client::CallBuilder), you are able to prepare an action call by repeatedly calling it's methods. These will always take a single argument, for which the following statements are true. * [PODs][wiki-pod] are handed by copy * strings are passed as `&str` -* [request values](https://docs.rs/google-drive3/4.0.3+20220225/google_drive3/client::RequestValue) are moved +* [request values](https://docs.rs/google-drive3/4.0.4+20220225/google_drive3/client::RequestValue) are moved Arguments will always be copied or cloned into the builder, to make them independent of their original life times. diff --git a/gen/drive3/src/api.rs b/gen/drive3/src/api.rs index ecdf96e0be..f26409472a 100644 --- a/gen/drive3/src/api.rs +++ b/gen/drive3/src/api.rs @@ -7,10 +7,10 @@ use serde_json as json; use std::io; use std::fs; use std::mem; -use std::thread::sleep; use hyper::client::connect; use tokio::io::{AsyncRead, AsyncWrite}; +use tokio::time::sleep; use tower_service; use serde::{Serialize, Deserialize}; @@ -161,7 +161,7 @@ impl<'a, S> DriveHub { DriveHub { client, auth: Box::new(auth), - _user_agent: "google-api-rust-client/4.0.3".to_string(), + _user_agent: "google-api-rust-client/4.0.4".to_string(), _base_url: "https://www.googleapis.com/drive/v3/".to_string(), _root_url: "https://www.googleapis.com/".to_string(), } @@ -199,7 +199,7 @@ impl<'a, S> DriveHub { } /// Set the user-agent header field to use in all requests to the server. - /// It defaults to `google-api-rust-client/4.0.3`. + /// It defaults to `google-api-rust-client/4.0.4`. /// /// Returns the previously set user-agent. pub fn user_agent(&mut self, agent_name: String) -> String { @@ -3328,7 +3328,7 @@ where match req_result { Err(err) => { if let client::Retry::After(d) = dlg.http_error(&err) { - sleep(d); + sleep(d).await; continue; } dlg.finished(false); @@ -3344,7 +3344,7 @@ where let server_response = json::from_str::(&res_body_string).ok(); if let client::Retry::After(d) = dlg.http_failure(&restored_response, server_response.clone()) { - sleep(d); + sleep(d).await; continue; } @@ -3580,7 +3580,7 @@ where match req_result { Err(err) => { if let client::Retry::After(d) = dlg.http_error(&err) { - sleep(d); + sleep(d).await; continue; } dlg.finished(false); @@ -3596,7 +3596,7 @@ where let server_response = json::from_str::(&res_body_string).ok(); if let client::Retry::After(d) = dlg.http_failure(&restored_response, server_response.clone()) { - sleep(d); + sleep(d).await; continue; } @@ -3902,7 +3902,7 @@ where match req_result { Err(err) => { if let client::Retry::After(d) = dlg.http_error(&err) { - sleep(d); + sleep(d).await; continue; } dlg.finished(false); @@ -3918,7 +3918,7 @@ where let server_response = json::from_str::(&res_body_string).ok(); if let client::Retry::After(d) = dlg.http_failure(&restored_response, server_response.clone()) { - sleep(d); + sleep(d).await; continue; } @@ -4311,7 +4311,7 @@ where match req_result { Err(err) => { if let client::Retry::After(d) = dlg.http_error(&err) { - sleep(d); + sleep(d).await; continue; } dlg.finished(false); @@ -4327,7 +4327,7 @@ where let server_response = json::from_str::(&res_body_string).ok(); if let client::Retry::After(d) = dlg.http_failure(&restored_response, server_response.clone()) { - sleep(d); + sleep(d).await; continue; } @@ -4666,7 +4666,7 @@ where match req_result { Err(err) => { if let client::Retry::After(d) = dlg.http_error(&err) { - sleep(d); + sleep(d).await; continue; } dlg.finished(false); @@ -4682,7 +4682,7 @@ where let server_response = json::from_str::(&res_body_string).ok(); if let client::Retry::After(d) = dlg.http_failure(&restored_response, server_response.clone()) { - sleep(d); + sleep(d).await; continue; } @@ -4941,7 +4941,7 @@ where match req_result { Err(err) => { if let client::Retry::After(d) = dlg.http_error(&err) { - sleep(d); + sleep(d).await; continue; } dlg.finished(false); @@ -4957,7 +4957,7 @@ where let server_response = json::from_str::(&res_body_string).ok(); if let client::Retry::After(d) = dlg.http_failure(&restored_response, server_response.clone()) { - sleep(d); + sleep(d).await; continue; } @@ -5216,7 +5216,7 @@ where match req_result { Err(err) => { if let client::Retry::After(d) = dlg.http_error(&err) { - sleep(d); + sleep(d).await; continue; } dlg.finished(false); @@ -5232,7 +5232,7 @@ where let server_response = json::from_str::(&res_body_string).ok(); if let client::Retry::After(d) = dlg.http_failure(&restored_response, server_response.clone()) { - sleep(d); + sleep(d).await; continue; } @@ -5488,7 +5488,7 @@ where match req_result { Err(err) => { if let client::Retry::After(d) = dlg.http_error(&err) { - sleep(d); + sleep(d).await; continue; } dlg.finished(false); @@ -5504,7 +5504,7 @@ where let server_response = json::from_str::(&res_body_string).ok(); if let client::Retry::After(d) = dlg.http_failure(&restored_response, server_response.clone()) { - sleep(d); + sleep(d).await; continue; } @@ -5790,7 +5790,7 @@ where match req_result { Err(err) => { if let client::Retry::After(d) = dlg.http_error(&err) { - sleep(d); + sleep(d).await; continue; } dlg.finished(false); @@ -5806,7 +5806,7 @@ where let server_response = json::from_str::(&res_body_string).ok(); if let client::Retry::After(d) = dlg.http_failure(&restored_response, server_response.clone()) { - sleep(d); + sleep(d).await; continue; } @@ -6106,7 +6106,7 @@ where match req_result { Err(err) => { if let client::Retry::After(d) = dlg.http_error(&err) { - sleep(d); + sleep(d).await; continue; } dlg.finished(false); @@ -6122,7 +6122,7 @@ where let server_response = json::from_str::(&res_body_string).ok(); if let client::Retry::After(d) = dlg.http_failure(&restored_response, server_response.clone()) { - sleep(d); + sleep(d).await; continue; } @@ -6390,7 +6390,7 @@ where match req_result { Err(err) => { if let client::Retry::After(d) = dlg.http_error(&err) { - sleep(d); + sleep(d).await; continue; } dlg.finished(false); @@ -6406,7 +6406,7 @@ where let server_response = json::from_str::(&res_body_string).ok(); if let client::Retry::After(d) = dlg.http_failure(&restored_response, server_response.clone()) { - sleep(d); + sleep(d).await; continue; } @@ -6663,7 +6663,7 @@ where match req_result { Err(err) => { if let client::Retry::After(d) = dlg.http_error(&err) { - sleep(d); + sleep(d).await; continue; } dlg.finished(false); @@ -6679,7 +6679,7 @@ where let server_response = json::from_str::(&res_body_string).ok(); if let client::Retry::After(d) = dlg.http_failure(&restored_response, server_response.clone()) { - sleep(d); + sleep(d).await; continue; } @@ -6923,7 +6923,7 @@ where match req_result { Err(err) => { if let client::Retry::After(d) = dlg.http_error(&err) { - sleep(d); + sleep(d).await; continue; } dlg.finished(false); @@ -6939,7 +6939,7 @@ where let server_response = json::from_str::(&res_body_string).ok(); if let client::Retry::After(d) = dlg.http_failure(&restored_response, server_response.clone()) { - sleep(d); + sleep(d).await; continue; } @@ -7195,7 +7195,7 @@ where match req_result { Err(err) => { if let client::Retry::After(d) = dlg.http_error(&err) { - sleep(d); + sleep(d).await; continue; } dlg.finished(false); @@ -7211,7 +7211,7 @@ where let server_response = json::from_str::(&res_body_string).ok(); if let client::Retry::After(d) = dlg.http_failure(&restored_response, server_response.clone()) { - sleep(d); + sleep(d).await; continue; } @@ -7457,7 +7457,7 @@ where match req_result { Err(err) => { if let client::Retry::After(d) = dlg.http_error(&err) { - sleep(d); + sleep(d).await; continue; } dlg.finished(false); @@ -7473,7 +7473,7 @@ where let server_response = json::from_str::(&res_body_string).ok(); if let client::Retry::After(d) = dlg.http_failure(&restored_response, server_response.clone()) { - sleep(d); + sleep(d).await; continue; } @@ -7740,7 +7740,7 @@ where match req_result { Err(err) => { if let client::Retry::After(d) = dlg.http_error(&err) { - sleep(d); + sleep(d).await; continue; } dlg.finished(false); @@ -7756,7 +7756,7 @@ where let server_response = json::from_str::(&res_body_string).ok(); if let client::Retry::After(d) = dlg.http_failure(&restored_response, server_response.clone()) { - sleep(d); + sleep(d).await; continue; } @@ -8031,7 +8031,7 @@ where match req_result { Err(err) => { if let client::Retry::After(d) = dlg.http_error(&err) { - sleep(d); + sleep(d).await; continue; } dlg.finished(false); @@ -8047,7 +8047,7 @@ where let server_response = json::from_str::(&res_body_string).ok(); if let client::Retry::After(d) = dlg.http_failure(&restored_response, server_response.clone()) { - sleep(d); + sleep(d).await; continue; } @@ -8368,7 +8368,7 @@ where match req_result { Err(err) => { if let client::Retry::After(d) = dlg.http_error(&err) { - sleep(d); + sleep(d).await; continue; } dlg.finished(false); @@ -8384,7 +8384,7 @@ where let server_response = json::from_str::(&res_body_string).ok(); if let client::Retry::After(d) = dlg.http_failure(&restored_response, server_response.clone()) { - sleep(d); + sleep(d).await; continue; } @@ -8773,7 +8773,7 @@ where match req_result { Err(err) => { if let client::Retry::After(d) = dlg.http_error(&err) { - sleep(d); + sleep(d).await; continue; } dlg.finished(false); @@ -8789,7 +8789,7 @@ where let server_response = json::from_str::(&res_body_string).ok(); if let client::Retry::After(d) = dlg.http_failure(&restored_response, server_response.clone()) { - sleep(d); + sleep(d).await; continue; } @@ -9177,7 +9177,7 @@ where match req_result { Err(err) => { if let client::Retry::After(d) = dlg.http_error(&err) { - sleep(d); + sleep(d).await; continue; } dlg.finished(false); @@ -9193,7 +9193,7 @@ where let server_response = json::from_str::(&res_body_string).ok(); if let client::Retry::After(d) = dlg.http_failure(&restored_response, server_response.clone()) { - sleep(d); + sleep(d).await; continue; } @@ -9434,7 +9434,7 @@ where match req_result { Err(err) => { if let client::Retry::After(d) = dlg.http_error(&err) { - sleep(d); + sleep(d).await; continue; } dlg.finished(false); @@ -9450,7 +9450,7 @@ where let server_response = json::from_str::(&res_body_string).ok(); if let client::Retry::After(d) = dlg.http_failure(&restored_response, server_response.clone()) { - sleep(d); + sleep(d).await; continue; } @@ -9690,7 +9690,7 @@ where match req_result { Err(err) => { if let client::Retry::After(d) = dlg.http_error(&err) { - sleep(d); + sleep(d).await; continue; } dlg.finished(false); @@ -9706,7 +9706,7 @@ where let server_response = json::from_str::(&res_body_string).ok(); if let client::Retry::After(d) = dlg.http_failure(&restored_response, server_response.clone()) { - sleep(d); + sleep(d).await; continue; } @@ -9947,7 +9947,7 @@ where match req_result { Err(err) => { if let client::Retry::After(d) = dlg.http_error(&err) { - sleep(d); + sleep(d).await; continue; } dlg.finished(false); @@ -9963,7 +9963,7 @@ where let server_response = json::from_str::(&res_body_string).ok(); if let client::Retry::After(d) = dlg.http_failure(&restored_response, server_response.clone()) { - sleep(d); + sleep(d).await; continue; } @@ -10264,7 +10264,7 @@ where match req_result { Err(err) => { if let client::Retry::After(d) = dlg.http_error(&err) { - sleep(d); + sleep(d).await; continue; } dlg.finished(false); @@ -10280,7 +10280,7 @@ where let server_response = json::from_str::(&res_body_string).ok(); if let client::Retry::After(d) = dlg.http_failure(&restored_response, server_response.clone()) { - sleep(d); + sleep(d).await; continue; } @@ -10604,7 +10604,7 @@ where match req_result { Err(err) => { if let client::Retry::After(d) = dlg.http_error(&err) { - sleep(d); + sleep(d).await; continue; } dlg.finished(false); @@ -10620,7 +10620,7 @@ where let server_response = json::from_str::(&res_body_string).ok(); if let client::Retry::After(d) = dlg.http_failure(&restored_response, server_response.clone()) { - sleep(d); + sleep(d).await; continue; } @@ -11023,7 +11023,7 @@ where match req_result { Err(err) => { if let client::Retry::After(d) = dlg.http_error(&err) { - sleep(d); + sleep(d).await; continue; } dlg.finished(false); @@ -11039,7 +11039,7 @@ where let server_response = json::from_str::(&res_body_string).ok(); if let client::Retry::After(d) = dlg.http_failure(&restored_response, server_response.clone()) { - sleep(d); + sleep(d).await; continue; } @@ -11253,7 +11253,7 @@ where match req_result { Err(err) => { if let client::Retry::After(d) = dlg.http_error(&err) { - sleep(d); + sleep(d).await; continue; } dlg.finished(false); @@ -11269,7 +11269,7 @@ where let server_response = json::from_str::(&res_body_string).ok(); if let client::Retry::After(d) = dlg.http_failure(&restored_response, server_response.clone()) { - sleep(d); + sleep(d).await; continue; } @@ -11722,7 +11722,7 @@ where match req_result { Err(err) => { if let client::Retry::After(d) = dlg.http_error(&err) { - sleep(d); + sleep(d).await; continue; } dlg.finished(false); @@ -11738,7 +11738,7 @@ where let server_response = json::from_str::(&res_body_string).ok(); if let client::Retry::After(d) = dlg.http_failure(&restored_response, server_response.clone()) { - sleep(d); + sleep(d).await; continue; } @@ -12085,7 +12085,7 @@ where match req_result { Err(err) => { if let client::Retry::After(d) = dlg.http_error(&err) { - sleep(d); + sleep(d).await; continue; } dlg.finished(false); @@ -12101,7 +12101,7 @@ where let server_response = json::from_str::(&res_body_string).ok(); if let client::Retry::After(d) = dlg.http_failure(&restored_response, server_response.clone()) { - sleep(d); + sleep(d).await; continue; } @@ -12431,7 +12431,7 @@ where match req_result { Err(err) => { if let client::Retry::After(d) = dlg.http_error(&err) { - sleep(d); + sleep(d).await; continue; } dlg.finished(false); @@ -12447,7 +12447,7 @@ where let server_response = json::from_str::(&res_body_string).ok(); if let client::Retry::After(d) = dlg.http_failure(&restored_response, server_response.clone()) { - sleep(d); + sleep(d).await; continue; } @@ -12734,7 +12734,7 @@ where match req_result { Err(err) => { if let client::Retry::After(d) = dlg.http_error(&err) { - sleep(d); + sleep(d).await; continue; } dlg.finished(false); @@ -12750,7 +12750,7 @@ where let server_response = json::from_str::(&res_body_string).ok(); if let client::Retry::After(d) = dlg.http_failure(&restored_response, server_response.clone()) { - sleep(d); + sleep(d).await; continue; } @@ -13060,7 +13060,7 @@ where match req_result { Err(err) => { if let client::Retry::After(d) = dlg.http_error(&err) { - sleep(d); + sleep(d).await; continue; } dlg.finished(false); @@ -13076,7 +13076,7 @@ where let server_response = json::from_str::(&res_body_string).ok(); if let client::Retry::After(d) = dlg.http_failure(&restored_response, server_response.clone()) { - sleep(d); + sleep(d).await; continue; } @@ -13415,7 +13415,7 @@ where match req_result { Err(err) => { if let client::Retry::After(d) = dlg.http_error(&err) { - sleep(d); + sleep(d).await; continue; } dlg.finished(false); @@ -13431,7 +13431,7 @@ where let server_response = json::from_str::(&res_body_string).ok(); if let client::Retry::After(d) = dlg.http_failure(&restored_response, server_response.clone()) { - sleep(d); + sleep(d).await; continue; } @@ -13757,7 +13757,7 @@ where match req_result { Err(err) => { if let client::Retry::After(d) = dlg.http_error(&err) { - sleep(d); + sleep(d).await; continue; } dlg.finished(false); @@ -13773,7 +13773,7 @@ where let server_response = json::from_str::(&res_body_string).ok(); if let client::Retry::After(d) = dlg.http_failure(&restored_response, server_response.clone()) { - sleep(d); + sleep(d).await; continue; } @@ -14044,7 +14044,7 @@ where match req_result { Err(err) => { if let client::Retry::After(d) = dlg.http_error(&err) { - sleep(d); + sleep(d).await; continue; } dlg.finished(false); @@ -14060,7 +14060,7 @@ where let server_response = json::from_str::(&res_body_string).ok(); if let client::Retry::After(d) = dlg.http_failure(&restored_response, server_response.clone()) { - sleep(d); + sleep(d).await; continue; } @@ -14328,7 +14328,7 @@ where match req_result { Err(err) => { if let client::Retry::After(d) = dlg.http_error(&err) { - sleep(d); + sleep(d).await; continue; } dlg.finished(false); @@ -14344,7 +14344,7 @@ where let server_response = json::from_str::(&res_body_string).ok(); if let client::Retry::After(d) = dlg.http_failure(&restored_response, server_response.clone()) { - sleep(d); + sleep(d).await; continue; } @@ -14637,7 +14637,7 @@ where match req_result { Err(err) => { if let client::Retry::After(d) = dlg.http_error(&err) { - sleep(d); + sleep(d).await; continue; } dlg.finished(false); @@ -14653,7 +14653,7 @@ where let server_response = json::from_str::(&res_body_string).ok(); if let client::Retry::After(d) = dlg.http_failure(&restored_response, server_response.clone()) { - sleep(d); + sleep(d).await; continue; } @@ -14958,7 +14958,7 @@ where match req_result { Err(err) => { if let client::Retry::After(d) = dlg.http_error(&err) { - sleep(d); + sleep(d).await; continue; } dlg.finished(false); @@ -14974,7 +14974,7 @@ where let server_response = json::from_str::(&res_body_string).ok(); if let client::Retry::After(d) = dlg.http_failure(&restored_response, server_response.clone()) { - sleep(d); + sleep(d).await; continue; } @@ -15253,7 +15253,7 @@ where match req_result { Err(err) => { if let client::Retry::After(d) = dlg.http_error(&err) { - sleep(d); + sleep(d).await; continue; } dlg.finished(false); @@ -15269,7 +15269,7 @@ where let server_response = json::from_str::(&res_body_string).ok(); if let client::Retry::After(d) = dlg.http_failure(&restored_response, server_response.clone()) { - sleep(d); + sleep(d).await; continue; } @@ -15546,7 +15546,7 @@ where match req_result { Err(err) => { if let client::Retry::After(d) = dlg.http_error(&err) { - sleep(d); + sleep(d).await; continue; } dlg.finished(false); @@ -15562,7 +15562,7 @@ where let server_response = json::from_str::(&res_body_string).ok(); if let client::Retry::After(d) = dlg.http_failure(&restored_response, server_response.clone()) { - sleep(d); + sleep(d).await; continue; } @@ -15838,7 +15838,7 @@ where match req_result { Err(err) => { if let client::Retry::After(d) = dlg.http_error(&err) { - sleep(d); + sleep(d).await; continue; } dlg.finished(false); @@ -15854,7 +15854,7 @@ where let server_response = json::from_str::(&res_body_string).ok(); if let client::Retry::After(d) = dlg.http_failure(&restored_response, server_response.clone()) { - sleep(d); + sleep(d).await; continue; } @@ -16140,7 +16140,7 @@ where match req_result { Err(err) => { if let client::Retry::After(d) = dlg.http_error(&err) { - sleep(d); + sleep(d).await; continue; } dlg.finished(false); @@ -16156,7 +16156,7 @@ where let server_response = json::from_str::(&res_body_string).ok(); if let client::Retry::After(d) = dlg.http_failure(&restored_response, server_response.clone()) { - sleep(d); + sleep(d).await; continue; } @@ -16424,7 +16424,7 @@ where match req_result { Err(err) => { if let client::Retry::After(d) = dlg.http_error(&err) { - sleep(d); + sleep(d).await; continue; } dlg.finished(false); @@ -16440,7 +16440,7 @@ where let server_response = json::from_str::(&res_body_string).ok(); if let client::Retry::After(d) = dlg.http_failure(&restored_response, server_response.clone()) { - sleep(d); + sleep(d).await; continue; } @@ -16697,7 +16697,7 @@ where match req_result { Err(err) => { if let client::Retry::After(d) = dlg.http_error(&err) { - sleep(d); + sleep(d).await; continue; } dlg.finished(false); @@ -16713,7 +16713,7 @@ where let server_response = json::from_str::(&res_body_string).ok(); if let client::Retry::After(d) = dlg.http_failure(&restored_response, server_response.clone()) { - sleep(d); + sleep(d).await; continue; } @@ -16957,7 +16957,7 @@ where match req_result { Err(err) => { if let client::Retry::After(d) = dlg.http_error(&err) { - sleep(d); + sleep(d).await; continue; } dlg.finished(false); @@ -16973,7 +16973,7 @@ where let server_response = json::from_str::(&res_body_string).ok(); if let client::Retry::After(d) = dlg.http_failure(&restored_response, server_response.clone()) { - sleep(d); + sleep(d).await; continue; } @@ -17226,7 +17226,7 @@ where match req_result { Err(err) => { if let client::Retry::After(d) = dlg.http_error(&err) { - sleep(d); + sleep(d).await; continue; } dlg.finished(false); @@ -17242,7 +17242,7 @@ where let server_response = json::from_str::(&res_body_string).ok(); if let client::Retry::After(d) = dlg.http_failure(&restored_response, server_response.clone()) { - sleep(d); + sleep(d).await; continue; } @@ -17535,7 +17535,7 @@ where match req_result { Err(err) => { if let client::Retry::After(d) = dlg.http_error(&err) { - sleep(d); + sleep(d).await; continue; } dlg.finished(false); @@ -17551,7 +17551,7 @@ where let server_response = json::from_str::(&res_body_string).ok(); if let client::Retry::After(d) = dlg.http_failure(&restored_response, server_response.clone()) { - sleep(d); + sleep(d).await; continue; } diff --git a/gen/drive3/src/lib.rs b/gen/drive3/src/lib.rs index 5159df973e..f41aa13da5 100644 --- a/gen/drive3/src/lib.rs +++ b/gen/drive3/src/lib.rs @@ -2,7 +2,7 @@ // This file was generated automatically from 'src/generator/templates/api/lib.rs.mako' // DO NOT EDIT ! -//! This documentation was generated from *drive* crate version *4.0.3+20220225*, where *20220225* is the exact revision of the *drive:v3* schema built by the [mako](http://www.makotemplates.org/) code generator *v4.0.3*. +//! This documentation was generated from *drive* crate version *4.0.4+20220225*, where *20220225* is the exact revision of the *drive:v3* schema built by the [mako](http://www.makotemplates.org/) code generator *v4.0.4*. //! //! Everything else about the *drive* *v3* API can be found at the //! [official documentation site](https://developers.google.com/drive/).