regenerate vision1 framework prior to release

This commit is contained in:
Sebastian Thiel
2022-08-09 09:08:27 +08:00
parent 37c5f85f2e
commit 8a16ffb8cb
7 changed files with 868 additions and 616 deletions

View File

@@ -4,12 +4,12 @@
[package]
name = "google-vision1"
version = "3.1.0+20220225"
version = "4.0.1+20220225"
authors = ["Sebastian Thiel <byronimo@gmail.com>"]
description = "A complete library to interact with Vision (protocol v1)"
repository = "https://github.com/Byron/google-apis-rs/tree/main/gen/vision1"
homepage = "https://cloud.google.com/vision/"
documentation = "https://docs.rs/google-vision1/3.1.0+20220225"
documentation = "https://docs.rs/google-vision1/4.0.1+20220225"
license = "MIT"
keywords = ["vision", "google", "protocol", "web", "api"]
autobins = false
@@ -22,9 +22,12 @@ mime = "^ 0.2.0"
serde = "^ 1.0"
serde_json = "^ 1.0"
serde_derive = "^ 1.0"
yup-oauth2 = "^ 6.6"
yup-oauth2 = "^ 7.0"
itertools = "^ 0.10"
hyper = "^ 0.14"
http = "^0.2"
tokio = "^1.0"
tower-service = "^0.3.1"
url = "= 1.7"

View File

@@ -5,24 +5,24 @@ DO NOT EDIT !
-->
The `google-vision1` library allows access to all features of the *Google Vision* service.
This documentation was generated from *Vision* crate version *3.1.0+20220225*, where *20220225* is the exact revision of the *vision:v1* schema built by the [mako](http://www.makotemplates.org/) code generator *v3.1.0*.
This documentation was generated from *Vision* crate version *4.0.1+20220225*, where *20220225* is the exact revision of the *vision:v1* schema built by the [mako](http://www.makotemplates.org/) code generator *v4.0.1*.
Everything else about the *Vision* *v1* API can be found at the
[official documentation site](https://cloud.google.com/vision/).
# Features
Handle the following *Resources* with ease from the central [hub](https://docs.rs/google-vision1/3.1.0+20220225/google_vision1/Vision) ...
Handle the following *Resources* with ease from the central [hub](https://docs.rs/google-vision1/4.0.1+20220225/google_vision1/Vision) ...
* files
* [*annotate*](https://docs.rs/google-vision1/3.1.0+20220225/google_vision1/api::FileAnnotateCall) and [*async batch annotate*](https://docs.rs/google-vision1/3.1.0+20220225/google_vision1/api::FileAsyncBatchAnnotateCall)
* [images](https://docs.rs/google-vision1/3.1.0+20220225/google_vision1/api::Image)
* [*annotate*](https://docs.rs/google-vision1/3.1.0+20220225/google_vision1/api::ImageAnnotateCall) and [*async batch annotate*](https://docs.rs/google-vision1/3.1.0+20220225/google_vision1/api::ImageAsyncBatchAnnotateCall)
* [*annotate*](https://docs.rs/google-vision1/4.0.1+20220225/google_vision1/api::FileAnnotateCall) and [*async batch annotate*](https://docs.rs/google-vision1/4.0.1+20220225/google_vision1/api::FileAsyncBatchAnnotateCall)
* [images](https://docs.rs/google-vision1/4.0.1+20220225/google_vision1/api::Image)
* [*annotate*](https://docs.rs/google-vision1/4.0.1+20220225/google_vision1/api::ImageAnnotateCall) and [*async batch annotate*](https://docs.rs/google-vision1/4.0.1+20220225/google_vision1/api::ImageAsyncBatchAnnotateCall)
* locations
* [*operations get*](https://docs.rs/google-vision1/3.1.0+20220225/google_vision1/api::LocationOperationGetCall)
* [operations](https://docs.rs/google-vision1/3.1.0+20220225/google_vision1/api::Operation)
* [*cancel*](https://docs.rs/google-vision1/3.1.0+20220225/google_vision1/api::OperationCancelCall), [*delete*](https://docs.rs/google-vision1/3.1.0+20220225/google_vision1/api::OperationDeleteCall), [*get*](https://docs.rs/google-vision1/3.1.0+20220225/google_vision1/api::OperationGetCall) and [*list*](https://docs.rs/google-vision1/3.1.0+20220225/google_vision1/api::OperationListCall)
* [*operations get*](https://docs.rs/google-vision1/4.0.1+20220225/google_vision1/api::LocationOperationGetCall)
* [operations](https://docs.rs/google-vision1/4.0.1+20220225/google_vision1/api::Operation)
* [*cancel*](https://docs.rs/google-vision1/4.0.1+20220225/google_vision1/api::OperationCancelCall), [*delete*](https://docs.rs/google-vision1/4.0.1+20220225/google_vision1/api::OperationDeleteCall), [*get*](https://docs.rs/google-vision1/4.0.1+20220225/google_vision1/api::OperationGetCall) and [*list*](https://docs.rs/google-vision1/4.0.1+20220225/google_vision1/api::OperationListCall)
* projects
* [*files annotate*](https://docs.rs/google-vision1/3.1.0+20220225/google_vision1/api::ProjectFileAnnotateCall), [*files async batch annotate*](https://docs.rs/google-vision1/3.1.0+20220225/google_vision1/api::ProjectFileAsyncBatchAnnotateCall), [*images annotate*](https://docs.rs/google-vision1/3.1.0+20220225/google_vision1/api::ProjectImageAnnotateCall), [*images async batch annotate*](https://docs.rs/google-vision1/3.1.0+20220225/google_vision1/api::ProjectImageAsyncBatchAnnotateCall), [*locations files annotate*](https://docs.rs/google-vision1/3.1.0+20220225/google_vision1/api::ProjectLocationFileAnnotateCall), [*locations files async batch annotate*](https://docs.rs/google-vision1/3.1.0+20220225/google_vision1/api::ProjectLocationFileAsyncBatchAnnotateCall), [*locations images annotate*](https://docs.rs/google-vision1/3.1.0+20220225/google_vision1/api::ProjectLocationImageAnnotateCall), [*locations images async batch annotate*](https://docs.rs/google-vision1/3.1.0+20220225/google_vision1/api::ProjectLocationImageAsyncBatchAnnotateCall), [*locations operations get*](https://docs.rs/google-vision1/3.1.0+20220225/google_vision1/api::ProjectLocationOperationGetCall), [*locations product sets add product*](https://docs.rs/google-vision1/3.1.0+20220225/google_vision1/api::ProjectLocationProductSetAddProductCall), [*locations product sets create*](https://docs.rs/google-vision1/3.1.0+20220225/google_vision1/api::ProjectLocationProductSetCreateCall), [*locations product sets delete*](https://docs.rs/google-vision1/3.1.0+20220225/google_vision1/api::ProjectLocationProductSetDeleteCall), [*locations product sets get*](https://docs.rs/google-vision1/3.1.0+20220225/google_vision1/api::ProjectLocationProductSetGetCall), [*locations product sets import*](https://docs.rs/google-vision1/3.1.0+20220225/google_vision1/api::ProjectLocationProductSetImportCall), [*locations product sets list*](https://docs.rs/google-vision1/3.1.0+20220225/google_vision1/api::ProjectLocationProductSetListCall), [*locations product sets patch*](https://docs.rs/google-vision1/3.1.0+20220225/google_vision1/api::ProjectLocationProductSetPatchCall), [*locations product sets products list*](https://docs.rs/google-vision1/3.1.0+20220225/google_vision1/api::ProjectLocationProductSetProductListCall), [*locations product sets remove product*](https://docs.rs/google-vision1/3.1.0+20220225/google_vision1/api::ProjectLocationProductSetRemoveProductCall), [*locations products create*](https://docs.rs/google-vision1/3.1.0+20220225/google_vision1/api::ProjectLocationProductCreateCall), [*locations products delete*](https://docs.rs/google-vision1/3.1.0+20220225/google_vision1/api::ProjectLocationProductDeleteCall), [*locations products get*](https://docs.rs/google-vision1/3.1.0+20220225/google_vision1/api::ProjectLocationProductGetCall), [*locations products list*](https://docs.rs/google-vision1/3.1.0+20220225/google_vision1/api::ProjectLocationProductListCall), [*locations products patch*](https://docs.rs/google-vision1/3.1.0+20220225/google_vision1/api::ProjectLocationProductPatchCall), [*locations products purge*](https://docs.rs/google-vision1/3.1.0+20220225/google_vision1/api::ProjectLocationProductPurgeCall), [*locations products reference images create*](https://docs.rs/google-vision1/3.1.0+20220225/google_vision1/api::ProjectLocationProductReferenceImageCreateCall), [*locations products reference images delete*](https://docs.rs/google-vision1/3.1.0+20220225/google_vision1/api::ProjectLocationProductReferenceImageDeleteCall), [*locations products reference images get*](https://docs.rs/google-vision1/3.1.0+20220225/google_vision1/api::ProjectLocationProductReferenceImageGetCall), [*locations products reference images list*](https://docs.rs/google-vision1/3.1.0+20220225/google_vision1/api::ProjectLocationProductReferenceImageListCall) and [*operations get*](https://docs.rs/google-vision1/3.1.0+20220225/google_vision1/api::ProjectOperationGetCall)
* [*files annotate*](https://docs.rs/google-vision1/4.0.1+20220225/google_vision1/api::ProjectFileAnnotateCall), [*files async batch annotate*](https://docs.rs/google-vision1/4.0.1+20220225/google_vision1/api::ProjectFileAsyncBatchAnnotateCall), [*images annotate*](https://docs.rs/google-vision1/4.0.1+20220225/google_vision1/api::ProjectImageAnnotateCall), [*images async batch annotate*](https://docs.rs/google-vision1/4.0.1+20220225/google_vision1/api::ProjectImageAsyncBatchAnnotateCall), [*locations files annotate*](https://docs.rs/google-vision1/4.0.1+20220225/google_vision1/api::ProjectLocationFileAnnotateCall), [*locations files async batch annotate*](https://docs.rs/google-vision1/4.0.1+20220225/google_vision1/api::ProjectLocationFileAsyncBatchAnnotateCall), [*locations images annotate*](https://docs.rs/google-vision1/4.0.1+20220225/google_vision1/api::ProjectLocationImageAnnotateCall), [*locations images async batch annotate*](https://docs.rs/google-vision1/4.0.1+20220225/google_vision1/api::ProjectLocationImageAsyncBatchAnnotateCall), [*locations operations get*](https://docs.rs/google-vision1/4.0.1+20220225/google_vision1/api::ProjectLocationOperationGetCall), [*locations product sets add product*](https://docs.rs/google-vision1/4.0.1+20220225/google_vision1/api::ProjectLocationProductSetAddProductCall), [*locations product sets create*](https://docs.rs/google-vision1/4.0.1+20220225/google_vision1/api::ProjectLocationProductSetCreateCall), [*locations product sets delete*](https://docs.rs/google-vision1/4.0.1+20220225/google_vision1/api::ProjectLocationProductSetDeleteCall), [*locations product sets get*](https://docs.rs/google-vision1/4.0.1+20220225/google_vision1/api::ProjectLocationProductSetGetCall), [*locations product sets import*](https://docs.rs/google-vision1/4.0.1+20220225/google_vision1/api::ProjectLocationProductSetImportCall), [*locations product sets list*](https://docs.rs/google-vision1/4.0.1+20220225/google_vision1/api::ProjectLocationProductSetListCall), [*locations product sets patch*](https://docs.rs/google-vision1/4.0.1+20220225/google_vision1/api::ProjectLocationProductSetPatchCall), [*locations product sets products list*](https://docs.rs/google-vision1/4.0.1+20220225/google_vision1/api::ProjectLocationProductSetProductListCall), [*locations product sets remove product*](https://docs.rs/google-vision1/4.0.1+20220225/google_vision1/api::ProjectLocationProductSetRemoveProductCall), [*locations products create*](https://docs.rs/google-vision1/4.0.1+20220225/google_vision1/api::ProjectLocationProductCreateCall), [*locations products delete*](https://docs.rs/google-vision1/4.0.1+20220225/google_vision1/api::ProjectLocationProductDeleteCall), [*locations products get*](https://docs.rs/google-vision1/4.0.1+20220225/google_vision1/api::ProjectLocationProductGetCall), [*locations products list*](https://docs.rs/google-vision1/4.0.1+20220225/google_vision1/api::ProjectLocationProductListCall), [*locations products patch*](https://docs.rs/google-vision1/4.0.1+20220225/google_vision1/api::ProjectLocationProductPatchCall), [*locations products purge*](https://docs.rs/google-vision1/4.0.1+20220225/google_vision1/api::ProjectLocationProductPurgeCall), [*locations products reference images create*](https://docs.rs/google-vision1/4.0.1+20220225/google_vision1/api::ProjectLocationProductReferenceImageCreateCall), [*locations products reference images delete*](https://docs.rs/google-vision1/4.0.1+20220225/google_vision1/api::ProjectLocationProductReferenceImageDeleteCall), [*locations products reference images get*](https://docs.rs/google-vision1/4.0.1+20220225/google_vision1/api::ProjectLocationProductReferenceImageGetCall), [*locations products reference images list*](https://docs.rs/google-vision1/4.0.1+20220225/google_vision1/api::ProjectLocationProductReferenceImageListCall) and [*operations get*](https://docs.rs/google-vision1/4.0.1+20220225/google_vision1/api::ProjectOperationGetCall)
@@ -31,17 +31,17 @@ Handle the following *Resources* with ease from the central [hub](https://docs.r
The API is structured into the following primary items:
* **[Hub](https://docs.rs/google-vision1/3.1.0+20220225/google_vision1/Vision)**
* **[Hub](https://docs.rs/google-vision1/4.0.1+20220225/google_vision1/Vision)**
* a central object to maintain state and allow accessing all *Activities*
* creates [*Method Builders*](https://docs.rs/google-vision1/3.1.0+20220225/google_vision1/client::MethodsBuilder) which in turn
allow access to individual [*Call Builders*](https://docs.rs/google-vision1/3.1.0+20220225/google_vision1/client::CallBuilder)
* **[Resources](https://docs.rs/google-vision1/3.1.0+20220225/google_vision1/client::Resource)**
* creates [*Method Builders*](https://docs.rs/google-vision1/4.0.1+20220225/google_vision1/client::MethodsBuilder) which in turn
allow access to individual [*Call Builders*](https://docs.rs/google-vision1/4.0.1+20220225/google_vision1/client::CallBuilder)
* **[Resources](https://docs.rs/google-vision1/4.0.1+20220225/google_vision1/client::Resource)**
* primary types that you can apply *Activities* to
* a collection of properties and *Parts*
* **[Parts](https://docs.rs/google-vision1/3.1.0+20220225/google_vision1/client::Part)**
* **[Parts](https://docs.rs/google-vision1/4.0.1+20220225/google_vision1/client::Part)**
* a collection of properties
* never directly used in *Activities*
* **[Activities](https://docs.rs/google-vision1/3.1.0+20220225/google_vision1/client::CallBuilder)**
* **[Activities](https://docs.rs/google-vision1/4.0.1+20220225/google_vision1/client::CallBuilder)**
* operations to apply to *Resources*
All *structures* are marked with applicable traits to further categorize them and ease browsing.
@@ -112,7 +112,7 @@ let auth = oauth2::InstalledFlowAuthenticator::builder(
secret,
oauth2::InstalledFlowReturnMethod::HTTPRedirect,
).build().await.unwrap();
let mut hub = Vision::new(hyper::Client::builder().build(hyper_rustls::HttpsConnector::with_native_roots().https_or_http().enable_http1().enable_http2().build()), auth);
let mut hub = Vision::new(hyper::Client::builder().build(hyper_rustls::HttpsConnectorBuilder::new().with_native_roots().https_or_http().enable_http1().enable_http2().build()), auth);
// You can configure optional parameters by calling the respective setters at will, and
// execute the final call using `doit()`.
// Values shown here are possibly random and not representative !
@@ -143,17 +143,17 @@ match result {
```
## Handling Errors
All errors produced by the system are provided either as [Result](https://docs.rs/google-vision1/3.1.0+20220225/google_vision1/client::Result) enumeration as return value of
All errors produced by the system are provided either as [Result](https://docs.rs/google-vision1/4.0.1+20220225/google_vision1/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-vision1/3.1.0+20220225/google_vision1/client::Delegate), or the [Authenticator Delegate](https://docs.rs/yup-oauth2/*/yup_oauth2/trait.AuthenticatorDelegate.html).
[Hub Delegate](https://docs.rs/google-vision1/4.0.1+20220225/google_vision1/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-vision1/3.1.0+20220225/google_vision1/client::Result), should be
If a method supports downloads, the response body, which is part of the [Result](https://docs.rs/google-vision1/4.0.1+20220225/google_vision1/client::Result), should be
read by you to obtain the media.
If such a method also supports a [Response Result](https://docs.rs/google-vision1/3.1.0+20220225/google_vision1/client::ResponseResult), it will return that by default.
If such a method also supports a [Response Result](https://docs.rs/google-vision1/4.0.1+20220225/google_vision1/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")`.
@@ -163,29 +163,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-vision1/3.1.0+20220225/google_vision1/client::Delegate) to the
[Method Builder](https://docs.rs/google-vision1/3.1.0+20220225/google_vision1/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-vision1/4.0.1+20220225/google_vision1/client::Delegate) to the
[Method Builder](https://docs.rs/google-vision1/4.0.1+20220225/google_vision1/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-vision1/3.1.0+20220225/google_vision1/client::Delegate) is default-implemented, allowing you to customize it with minimal effort.
The [delegate trait](https://docs.rs/google-vision1/4.0.1+20220225/google_vision1/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-vision1/3.1.0+20220225/google_vision1/client::RequestValue) and
[decodable](https://docs.rs/google-vision1/3.1.0+20220225/google_vision1/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-vision1/4.0.1+20220225/google_vision1/client::RequestValue) and
[decodable](https://docs.rs/google-vision1/4.0.1+20220225/google_vision1/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-vision1/3.1.0+20220225/google_vision1/client::Part) which are identifiable by name, which will be sent to
Most optionals are are considered [Parts](https://docs.rs/google-vision1/4.0.1+20220225/google_vision1/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-vision1/3.1.0+20220225/google_vision1/client::CallBuilder), you are able to prepare an action call by repeatedly calling it's methods.
Using [method builders](https://docs.rs/google-vision1/4.0.1+20220225/google_vision1/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-vision1/3.1.0+20220225/google_vision1/client::RequestValue) are moved
* [request values](https://docs.rs/google-vision1/4.0.1+20220225/google_vision1/client::RequestValue) are moved
Arguments will always be copied or cloned into the builder, to make them independent of their original life times.

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,7 @@
// COPY OF 'src/rust/api/client.rs'
// DO NOT EDIT
use std::error;
use std::error::Error as StdError;
use std::fmt::{self, Display};
use std::io::{self, Cursor, Read, Seek, SeekFrom, Write};
use std::str::FromStr;
@@ -9,7 +10,10 @@ use std::time::Duration;
use itertools::Itertools;
use hyper::http::Uri;
use hyper::body::Buf;
use hyper::client::connect;
use hyper::header::{HeaderMap, AUTHORIZATION, CONTENT_LENGTH, CONTENT_TYPE, USER_AGENT};
use hyper::Method;
use hyper::StatusCode;
@@ -18,6 +22,9 @@ use mime::{Attr, Mime, SubLevel, TopLevel, Value};
use serde_json as json;
use tokio::io::{AsyncRead, AsyncWrite};
use tower_service;
const LINE_ENDING: &str = "\r\n";
pub enum Retry {
@@ -566,9 +573,15 @@ impl RangeResponseHeader {
}
/// A utility type to perform a resumable upload from start to end.
pub struct ResumableUploadHelper<'a, A: 'a> {
pub struct ResumableUploadHelper<'a, A: 'a, S>
where
S: tower_service::Service<Uri> + Clone + Send + Sync + 'static,
S::Response: hyper::client::connect::Connection + AsyncRead + AsyncWrite + Send + Unpin + 'static,
S::Future: Send + Unpin + 'static,
S::Error: Into<Box<dyn StdError + Send + Sync>>,
{
pub client: &'a hyper::client::Client<
hyper_rustls::HttpsConnector<hyper::client::connect::HttpConnector>,
S,
hyper::body::Body,
>,
pub delegate: &'a mut dyn Delegate,
@@ -582,7 +595,13 @@ pub struct ResumableUploadHelper<'a, A: 'a> {
pub content_length: u64,
}
impl<'a, A> ResumableUploadHelper<'a, A> {
impl<'a, A, S> ResumableUploadHelper<'a, A, S>
where
S: tower_service::Service<Uri> + Clone + Send + Sync + 'static,
S::Response: hyper::client::connect::Connection + AsyncRead + AsyncWrite + Send + Unpin + 'static,
S::Future: Send + Unpin + 'static,
S::Error: Into<Box<dyn StdError + Send + Sync>>,
{
async fn query_transfer_status(
&mut self,
) -> std::result::Result<u64, hyper::Result<hyper::Response<hyper::body::Body>>> {
@@ -697,14 +716,11 @@ impl<'a, A> ResumableUploadHelper<'a, A> {
}
let (res_parts, res_body) = res.into_parts();
let res_body_string: String = String::from_utf8(
hyper::body::to_bytes(res_body)
.await
.unwrap()
.into_iter()
.collect(),
)
.unwrap();
let res_body = match hyper::body::to_bytes(res_body).await {
Ok(res_body) => res_body.into_iter().collect(),
Err(err) => return Some(Err(err)),
};
let res_body_string: String = String::from_utf8(res_body).unwrap();
let reconstructed_result =
hyper::Response::from_parts(res_parts, res_body_string.clone().into());

View File

@@ -2,7 +2,7 @@
// This file was generated automatically from 'src/mako/api/lib.rs.mako'
// DO NOT EDIT !
//! This documentation was generated from *Vision* crate version *3.1.0+20220225*, where *20220225* is the exact revision of the *vision:v1* schema built by the [mako](http://www.makotemplates.org/) code generator *v3.1.0*.
//! This documentation was generated from *Vision* crate version *4.0.1+20220225*, where *20220225* is the exact revision of the *vision:v1* schema built by the [mako](http://www.makotemplates.org/) code generator *v4.0.1*.
//!
//! Everything else about the *Vision* *v1* API can be found at the
//! [official documentation site](https://cloud.google.com/vision/).
@@ -113,7 +113,7 @@
//! secret,
//! oauth2::InstalledFlowReturnMethod::HTTPRedirect,
//! ).build().await.unwrap();
//! let mut hub = Vision::new(hyper::Client::builder().build(hyper_rustls::HttpsConnector::with_native_roots().https_or_http().enable_http1().enable_http2().build()), auth);
//! let mut hub = Vision::new(hyper::Client::builder().build(hyper_rustls::HttpsConnectorBuilder::new().with_native_roots().https_or_http().enable_http1().enable_http2().build()), auth);
//! // You can configure optional parameters by calling the respective setters at will, and
//! // execute the final call using `doit()`.
//! // Values shown here are possibly random and not representative !