mirror of
https://github.com/OMGeeky/google-apis-rs.git
synced 2026-02-23 15:49:49 +01:00
remove generated libs
This commit is contained in:
@@ -1,37 +0,0 @@
|
||||
# DO NOT EDIT !
|
||||
# This file was generated automatically from 'src/generator/templates/Cargo.toml.mako'
|
||||
# DO NOT EDIT !
|
||||
[package]
|
||||
|
||||
name = "google-speech1_beta1"
|
||||
version = "5.0.4+20181005"
|
||||
authors = ["Sebastian Thiel <byronimo@gmail.com>"]
|
||||
description = "A complete library to interact with Speech (protocol v1beta1)"
|
||||
repository = "https://github.com/Byron/google-apis-rs/tree/main/gen/speech1_beta1"
|
||||
homepage = "https://cloud.google.com/speech-to-text/docs/quickstart-protocol"
|
||||
documentation = "https://docs.rs/google-speech1_beta1/5.0.4+20181005"
|
||||
license = "MIT"
|
||||
keywords = ["speech", "google", "protocol", "web", "api"]
|
||||
autobins = false
|
||||
edition = "2018"
|
||||
|
||||
|
||||
[dependencies]
|
||||
anyhow = "^ 1.0"
|
||||
hyper-rustls = "0.24.0"
|
||||
mime = "^ 0.3.0"
|
||||
serde = { version = "^ 1.0", features = ["derive"] }
|
||||
serde_json = "^ 1.0"
|
||||
itertools = "^ 0.10"
|
||||
google-apis-common = { path = "../../google-apis-common", version = "6.0" }
|
||||
hyper = "^ 0.14"
|
||||
http = "^0.2"
|
||||
tokio = "^1.0"
|
||||
tower-service = "^0.3.1"
|
||||
url = "= 1.7"
|
||||
|
||||
|
||||
|
||||
[features]
|
||||
yup-oauth2 = ["google-apis-common/yup-oauth2"]
|
||||
default = ["yup-oauth2"]
|
||||
@@ -1,30 +0,0 @@
|
||||
<!---
|
||||
DO NOT EDIT !
|
||||
This file was generated automatically from 'src/generator/templates/LICENSE.md.mako'
|
||||
DO NOT EDIT !
|
||||
-->
|
||||
The MIT License (MIT)
|
||||
=====================
|
||||
|
||||
Copyright © `2015-2020` `Sebastian Thiel`
|
||||
|
||||
Permission is hereby granted, free of charge, to any person
|
||||
obtaining a copy of this software and associated documentation
|
||||
files (the “Software”), to deal in the Software without
|
||||
restriction, including without limitation the rights to use,
|
||||
copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the
|
||||
Software is furnished to do so, subject to the following
|
||||
conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
OTHER DEALINGS IN THE SOFTWARE.
|
||||
@@ -1,185 +0,0 @@
|
||||
<!---
|
||||
DO NOT EDIT !
|
||||
This file was generated automatically from 'src/generator/templates/api/README.md.mako'
|
||||
DO NOT EDIT !
|
||||
-->
|
||||
The `google-speech1_beta1` library allows access to all features of the *Google Speech* service.
|
||||
|
||||
This documentation was generated from *Speech* crate version *5.0.4+20181005*, where *20181005* is the exact revision of the *speech:v1beta1* schema built by the [mako](http://www.makotemplates.org/) code generator *v5.0.4*.
|
||||
|
||||
Everything else about the *Speech* *v1_beta1* API can be found at the
|
||||
[official documentation site](https://cloud.google.com/speech-to-text/docs/quickstart-protocol).
|
||||
# Features
|
||||
|
||||
Handle the following *Resources* with ease from the central [hub](https://docs.rs/google-speech1_beta1/5.0.4+20181005/google_speech1_beta1/Speech) ...
|
||||
|
||||
* [operations](https://docs.rs/google-speech1_beta1/5.0.4+20181005/google_speech1_beta1/api::Operation)
|
||||
* [*get*](https://docs.rs/google-speech1_beta1/5.0.4+20181005/google_speech1_beta1/api::OperationGetCall) and [*list*](https://docs.rs/google-speech1_beta1/5.0.4+20181005/google_speech1_beta1/api::OperationListCall)
|
||||
* speech
|
||||
* [*asyncrecognize*](https://docs.rs/google-speech1_beta1/5.0.4+20181005/google_speech1_beta1/api::SpeechAsyncrecognizeCall) and [*syncrecognize*](https://docs.rs/google-speech1_beta1/5.0.4+20181005/google_speech1_beta1/api::SpeechSyncrecognizeCall)
|
||||
|
||||
|
||||
|
||||
|
||||
# Structure of this Library
|
||||
|
||||
The API is structured into the following primary items:
|
||||
|
||||
* **[Hub](https://docs.rs/google-speech1_beta1/5.0.4+20181005/google_speech1_beta1/Speech)**
|
||||
* a central object to maintain state and allow accessing all *Activities*
|
||||
* creates [*Method Builders*](https://docs.rs/google-speech1_beta1/5.0.4+20181005/google_speech1_beta1/client::MethodsBuilder) which in turn
|
||||
allow access to individual [*Call Builders*](https://docs.rs/google-speech1_beta1/5.0.4+20181005/google_speech1_beta1/client::CallBuilder)
|
||||
* **[Resources](https://docs.rs/google-speech1_beta1/5.0.4+20181005/google_speech1_beta1/client::Resource)**
|
||||
* primary types that you can apply *Activities* to
|
||||
* a collection of properties and *Parts*
|
||||
* **[Parts](https://docs.rs/google-speech1_beta1/5.0.4+20181005/google_speech1_beta1/client::Part)**
|
||||
* a collection of properties
|
||||
* never directly used in *Activities*
|
||||
* **[Activities](https://docs.rs/google-speech1_beta1/5.0.4+20181005/google_speech1_beta1/client::CallBuilder)**
|
||||
* operations to apply to *Resources*
|
||||
|
||||
All *structures* are marked with applicable traits to further categorize them and ease browsing.
|
||||
|
||||
Generally speaking, you can invoke *Activities* like this:
|
||||
|
||||
```Rust,ignore
|
||||
let r = hub.resource().activity(...).doit().await
|
||||
```
|
||||
|
||||
Or specifically ...
|
||||
|
||||
```ignore
|
||||
let r = hub.operations().list(...).doit().await
|
||||
let r = hub.operations().get(...).doit().await
|
||||
let r = hub.speech().asyncrecognize(...).doit().await
|
||||
```
|
||||
|
||||
The `resource()` and `activity(...)` calls create [builders][builder-pattern]. The second one dealing with `Activities`
|
||||
supports various methods to configure the impending operation (not shown here). It is made such that all required arguments have to be
|
||||
specified right away (i.e. `(...)`), whereas all optional ones can be [build up][builder-pattern] as desired.
|
||||
The `doit()` method performs the actual communication with the server and returns the respective result.
|
||||
|
||||
# Usage
|
||||
|
||||
## Setting up your Project
|
||||
|
||||
To use this library, you would put the following lines into your `Cargo.toml` file:
|
||||
|
||||
```toml
|
||||
[dependencies]
|
||||
google-speech1_beta1 = "*"
|
||||
serde = "^1.0"
|
||||
serde_json = "^1.0"
|
||||
```
|
||||
|
||||
## A complete example
|
||||
|
||||
```Rust
|
||||
extern crate hyper;
|
||||
extern crate hyper_rustls;
|
||||
extern crate google_speech1_beta1 as speech1_beta1;
|
||||
use speech1_beta1::{Result, Error};
|
||||
use std::default::Default;
|
||||
use speech1_beta1::{Speech, oauth2, hyper, hyper_rustls, chrono, FieldMask};
|
||||
|
||||
// Get an ApplicationSecret instance by some means. It contains the `client_id` and
|
||||
// `client_secret`, among other things.
|
||||
let secret: oauth2::ApplicationSecret = Default::default();
|
||||
// Instantiate the authenticator. It will choose a suitable authentication flow for you,
|
||||
// unless you replace `None` with the desired Flow.
|
||||
// Provide your own `AuthenticatorDelegate` to adjust the way it operates and get feedback about
|
||||
// what's going on. You probably want to bring in your own `TokenStorage` to persist tokens and
|
||||
// retrieve them from storage.
|
||||
let auth = oauth2::InstalledFlowAuthenticator::builder(
|
||||
secret,
|
||||
oauth2::InstalledFlowReturnMethod::HTTPRedirect,
|
||||
).build().await.unwrap();
|
||||
let mut hub = Speech::new(hyper::Client::builder().build(hyper_rustls::HttpsConnectorBuilder::new().with_native_roots().https_or_http().enable_http1().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 !
|
||||
let result = hub.operations().list()
|
||||
.page_token("et")
|
||||
.page_size(-33)
|
||||
.name("no")
|
||||
.filter("ipsum")
|
||||
.doit().await;
|
||||
|
||||
match result {
|
||||
Err(e) => match e {
|
||||
// The Error enum provides details about what exactly happened.
|
||||
// You can also just use its `Debug`, `Display` or `Error` traits
|
||||
Error::HttpError(_)
|
||||
|Error::Io(_)
|
||||
|Error::MissingAPIKey
|
||||
|Error::MissingToken(_)
|
||||
|Error::Cancelled
|
||||
|Error::UploadSizeLimitExceeded(_, _)
|
||||
|Error::Failure(_)
|
||||
|Error::BadRequest(_)
|
||||
|Error::FieldClash(_)
|
||||
|Error::JsonDecodeError(_, _) => println!("{}", e),
|
||||
},
|
||||
Ok(res) => println!("Success: {:?}", res),
|
||||
}
|
||||
|
||||
```
|
||||
## Handling Errors
|
||||
|
||||
All errors produced by the system are provided either as [Result](https://docs.rs/google-speech1_beta1/5.0.4+20181005/google_speech1_beta1/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-speech1_beta1/5.0.4+20181005/google_speech1_beta1/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-speech1_beta1/5.0.4+20181005/google_speech1_beta1/client::Result), should be
|
||||
read by you to obtain the media.
|
||||
If such a method also supports a [Response Result](https://docs.rs/google-speech1_beta1/5.0.4+20181005/google_speech1_beta1/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")`.
|
||||
|
||||
Methods supporting uploads can do so using up to 2 different protocols:
|
||||
*simple* and *resumable*. The distinctiveness of each is represented by customized
|
||||
`doit(...)` methods, which are then named `upload(...)` and `upload_resumable(...)` respectively.
|
||||
|
||||
## Customization and Callbacks
|
||||
|
||||
You may alter the way an `doit()` method is called by providing a [delegate](https://docs.rs/google-speech1_beta1/5.0.4+20181005/google_speech1_beta1/client::Delegate) to the
|
||||
[Method Builder](https://docs.rs/google-speech1_beta1/5.0.4+20181005/google_speech1_beta1/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-speech1_beta1/5.0.4+20181005/google_speech1_beta1/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-speech1_beta1/5.0.4+20181005/google_speech1_beta1/client::RequestValue) and
|
||||
[decodable](https://docs.rs/google-speech1_beta1/5.0.4+20181005/google_speech1_beta1/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-speech1_beta1/5.0.4+20181005/google_speech1_beta1/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-speech1_beta1/5.0.4+20181005/google_speech1_beta1/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-speech1_beta1/5.0.4+20181005/google_speech1_beta1/client::RequestValue) are moved
|
||||
|
||||
Arguments will always be copied or cloned into the builder, to make them independent of their original life times.
|
||||
|
||||
[wiki-pod]: http://en.wikipedia.org/wiki/Plain_old_data_structure
|
||||
[builder-pattern]: http://en.wikipedia.org/wiki/Builder_pattern
|
||||
[google-go-api]: https://github.com/google/google-api-go-client
|
||||
|
||||
# License
|
||||
The **speech1_beta1** library was generated by Sebastian Thiel, and is placed
|
||||
under the *MIT* license.
|
||||
You can read the full text at the repository's [license file][repo-license].
|
||||
|
||||
[repo-license]: https://github.com/Byron/google-apis-rsblob/main/LICENSE.md
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,113 +0,0 @@
|
||||
use super::*;
|
||||
|
||||
/// Central instance to access all Speech related resource activities
|
||||
///
|
||||
/// # Examples
|
||||
///
|
||||
/// Instantiate a new hub
|
||||
///
|
||||
/// ```test_harness,no_run
|
||||
/// extern crate hyper;
|
||||
/// extern crate hyper_rustls;
|
||||
/// extern crate google_speech1_beta1 as speech1_beta1;
|
||||
/// use speech1_beta1::{Result, Error};
|
||||
/// # async fn dox() {
|
||||
/// use std::default::Default;
|
||||
/// use speech1_beta1::{Speech, oauth2, hyper, hyper_rustls, chrono, FieldMask};
|
||||
///
|
||||
/// // Get an ApplicationSecret instance by some means. It contains the `client_id` and
|
||||
/// // `client_secret`, among other things.
|
||||
/// let secret: oauth2::ApplicationSecret = Default::default();
|
||||
/// // Instantiate the authenticator. It will choose a suitable authentication flow for you,
|
||||
/// // unless you replace `None` with the desired Flow.
|
||||
/// // Provide your own `AuthenticatorDelegate` to adjust the way it operates and get feedback about
|
||||
/// // what's going on. You probably want to bring in your own `TokenStorage` to persist tokens and
|
||||
/// // retrieve them from storage.
|
||||
/// let auth = oauth2::InstalledFlowAuthenticator::builder(
|
||||
/// secret,
|
||||
/// oauth2::InstalledFlowReturnMethod::HTTPRedirect,
|
||||
/// ).build().await.unwrap();
|
||||
/// let mut hub = Speech::new(hyper::Client::builder().build(hyper_rustls::HttpsConnectorBuilder::new().with_native_roots().https_or_http().enable_http1().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 !
|
||||
/// let result = hub.operations().list()
|
||||
/// .page_token("amet.")
|
||||
/// .page_size(-59)
|
||||
/// .name("amet.")
|
||||
/// .filter("duo")
|
||||
/// .doit().await;
|
||||
///
|
||||
/// match result {
|
||||
/// Err(e) => match e {
|
||||
/// // The Error enum provides details about what exactly happened.
|
||||
/// // You can also just use its `Debug`, `Display` or `Error` traits
|
||||
/// Error::HttpError(_)
|
||||
/// |Error::Io(_)
|
||||
/// |Error::MissingAPIKey
|
||||
/// |Error::MissingToken(_)
|
||||
/// |Error::Cancelled
|
||||
/// |Error::UploadSizeLimitExceeded(_, _)
|
||||
/// |Error::Failure(_)
|
||||
/// |Error::BadRequest(_)
|
||||
/// |Error::FieldClash(_)
|
||||
/// |Error::JsonDecodeError(_, _) => println!("{}", e),
|
||||
/// },
|
||||
/// Ok(res) => println!("Success: {:?}", res),
|
||||
/// }
|
||||
/// # }
|
||||
/// ```
|
||||
#[derive(Clone)]
|
||||
pub struct Speech<S> {
|
||||
pub client: hyper::Client<S, hyper::body::Body>,
|
||||
pub auth: Box<dyn client::GetToken>,
|
||||
pub(super) _user_agent: String,
|
||||
pub(super) _base_url: String,
|
||||
pub(super) _root_url: String,
|
||||
}
|
||||
|
||||
impl<'a, S> client::Hub for Speech<S> {}
|
||||
|
||||
impl<'a, S> Speech<S> {
|
||||
|
||||
pub fn new<A: 'static + client::GetToken>(client: hyper::Client<S, hyper::body::Body>, auth: A) -> Speech<S> {
|
||||
Speech {
|
||||
client,
|
||||
auth: Box::new(auth),
|
||||
_user_agent: "google-api-rust-client/5.0.3".to_string(),
|
||||
_base_url: "https://speech.googleapis.com/".to_string(),
|
||||
_root_url: "https://speech.googleapis.com/".to_string(),
|
||||
}
|
||||
}
|
||||
|
||||
pub fn operations(&'a self) -> OperationMethods<'a, S> {
|
||||
OperationMethods { hub: &self }
|
||||
}
|
||||
pub fn speech(&'a self) -> SpeechMethods<'a, S> {
|
||||
SpeechMethods { hub: &self }
|
||||
}
|
||||
|
||||
/// Set the user-agent header field to use in all requests to the server.
|
||||
/// It defaults to `google-api-rust-client/5.0.3`.
|
||||
///
|
||||
/// Returns the previously set user-agent.
|
||||
pub fn user_agent(&mut self, agent_name: String) -> String {
|
||||
mem::replace(&mut self._user_agent, agent_name)
|
||||
}
|
||||
|
||||
/// Set the base url to use in all requests to the server.
|
||||
/// It defaults to `https://speech.googleapis.com/`.
|
||||
///
|
||||
/// Returns the previously set base url.
|
||||
pub fn base_url(&mut self, new_base_url: String) -> String {
|
||||
mem::replace(&mut self._base_url, new_base_url)
|
||||
}
|
||||
|
||||
/// Set the root url to use in all requests to the server.
|
||||
/// It defaults to `https://speech.googleapis.com/`.
|
||||
///
|
||||
/// Returns the previously set root url.
|
||||
pub fn root_url(&mut self, new_root_url: String) -> String {
|
||||
mem::replace(&mut self._root_url, new_root_url)
|
||||
}
|
||||
}
|
||||
@@ -1,167 +0,0 @@
|
||||
use super::*;
|
||||
/// A builder providing access to all methods supported on *operation* resources.
|
||||
/// It is not used directly, but through the [`Speech`] hub.
|
||||
///
|
||||
/// # Example
|
||||
///
|
||||
/// Instantiate a resource builder
|
||||
///
|
||||
/// ```test_harness,no_run
|
||||
/// extern crate hyper;
|
||||
/// extern crate hyper_rustls;
|
||||
/// extern crate google_speech1_beta1 as speech1_beta1;
|
||||
///
|
||||
/// # async fn dox() {
|
||||
/// use std::default::Default;
|
||||
/// use speech1_beta1::{Speech, oauth2, hyper, hyper_rustls, chrono, FieldMask};
|
||||
///
|
||||
/// let secret: oauth2::ApplicationSecret = Default::default();
|
||||
/// let auth = oauth2::InstalledFlowAuthenticator::builder(
|
||||
/// secret,
|
||||
/// oauth2::InstalledFlowReturnMethod::HTTPRedirect,
|
||||
/// ).build().await.unwrap();
|
||||
/// let mut hub = Speech::new(hyper::Client::builder().build(hyper_rustls::HttpsConnectorBuilder::new().with_native_roots().https_or_http().enable_http1().build()), auth);
|
||||
/// // Usually you wouldn't bind this to a variable, but keep calling *CallBuilders*
|
||||
/// // like `get(...)` and `list(...)`
|
||||
/// // to build up your call.
|
||||
/// let rb = hub.operations();
|
||||
/// # }
|
||||
/// ```
|
||||
pub struct OperationMethods<'a, S>
|
||||
where S: 'a {
|
||||
|
||||
pub(super) hub: &'a Speech<S>,
|
||||
}
|
||||
|
||||
impl<'a, S> client::MethodsBuilder for OperationMethods<'a, S> {}
|
||||
|
||||
impl<'a, S> OperationMethods<'a, S> {
|
||||
|
||||
/// Create a builder to help you perform the following task:
|
||||
///
|
||||
/// Lists operations that match the specified filter in the request. If the
|
||||
/// server doesn't support this method, it returns `UNIMPLEMENTED`.
|
||||
///
|
||||
/// NOTE: the `name` binding allows API services to override the binding
|
||||
/// to use different resource name schemes, such as `users/*/operations`. To
|
||||
/// override the binding, API services can add a binding such as
|
||||
/// `"/v1/{name=users/*}/operations"` to their service configuration.
|
||||
/// For backwards compatibility, the default name includes the operations
|
||||
/// collection id, however overriding users must ensure the name binding
|
||||
/// is the parent resource, without the operations collection id.
|
||||
pub fn list(&self) -> OperationListCall<'a, S> {
|
||||
OperationListCall {
|
||||
hub: self.hub,
|
||||
_page_token: Default::default(),
|
||||
_page_size: Default::default(),
|
||||
_name: Default::default(),
|
||||
_filter: Default::default(),
|
||||
_delegate: Default::default(),
|
||||
_additional_params: Default::default(),
|
||||
_scopes: Default::default(),
|
||||
}
|
||||
}
|
||||
|
||||
/// Create a builder to help you perform the following task:
|
||||
///
|
||||
/// Gets the latest state of a long-running operation. Clients can use this
|
||||
/// method to poll the operation result at intervals as recommended by the API
|
||||
/// service.
|
||||
///
|
||||
/// # Arguments
|
||||
///
|
||||
/// * `name` - The name of the operation resource.
|
||||
pub fn get(&self, name: &str) -> OperationGetCall<'a, S> {
|
||||
OperationGetCall {
|
||||
hub: self.hub,
|
||||
_name: name.to_string(),
|
||||
_delegate: Default::default(),
|
||||
_additional_params: Default::default(),
|
||||
_scopes: Default::default(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/// A builder providing access to all methods supported on *speech* resources.
|
||||
/// It is not used directly, but through the [`Speech`] hub.
|
||||
///
|
||||
/// # Example
|
||||
///
|
||||
/// Instantiate a resource builder
|
||||
///
|
||||
/// ```test_harness,no_run
|
||||
/// extern crate hyper;
|
||||
/// extern crate hyper_rustls;
|
||||
/// extern crate google_speech1_beta1 as speech1_beta1;
|
||||
///
|
||||
/// # async fn dox() {
|
||||
/// use std::default::Default;
|
||||
/// use speech1_beta1::{Speech, oauth2, hyper, hyper_rustls, chrono, FieldMask};
|
||||
///
|
||||
/// let secret: oauth2::ApplicationSecret = Default::default();
|
||||
/// let auth = oauth2::InstalledFlowAuthenticator::builder(
|
||||
/// secret,
|
||||
/// oauth2::InstalledFlowReturnMethod::HTTPRedirect,
|
||||
/// ).build().await.unwrap();
|
||||
/// let mut hub = Speech::new(hyper::Client::builder().build(hyper_rustls::HttpsConnectorBuilder::new().with_native_roots().https_or_http().enable_http1().build()), auth);
|
||||
/// // Usually you wouldn't bind this to a variable, but keep calling *CallBuilders*
|
||||
/// // like `asyncrecognize(...)` and `syncrecognize(...)`
|
||||
/// // to build up your call.
|
||||
/// let rb = hub.speech();
|
||||
/// # }
|
||||
/// ```
|
||||
pub struct SpeechMethods<'a, S>
|
||||
where S: 'a {
|
||||
|
||||
pub(super) hub: &'a Speech<S>,
|
||||
}
|
||||
|
||||
impl<'a, S> client::MethodsBuilder for SpeechMethods<'a, S> {}
|
||||
|
||||
impl<'a, S> SpeechMethods<'a, S> {
|
||||
|
||||
/// Create a builder to help you perform the following task:
|
||||
///
|
||||
/// Performs asynchronous speech recognition: receive results via the
|
||||
/// \[google.longrunning.Operations\]
|
||||
/// (/speech/reference/rest/v1beta1/operations#Operation)
|
||||
/// interface. Returns either an
|
||||
/// `Operation.error` or an `Operation.response` which contains
|
||||
/// an `AsyncRecognizeResponse` message.
|
||||
///
|
||||
/// # Arguments
|
||||
///
|
||||
/// * `request` - No description provided.
|
||||
pub fn asyncrecognize(&self, request: AsyncRecognizeRequest) -> SpeechAsyncrecognizeCall<'a, S> {
|
||||
SpeechAsyncrecognizeCall {
|
||||
hub: self.hub,
|
||||
_request: request,
|
||||
_delegate: Default::default(),
|
||||
_additional_params: Default::default(),
|
||||
_scopes: Default::default(),
|
||||
}
|
||||
}
|
||||
|
||||
/// Create a builder to help you perform the following task:
|
||||
///
|
||||
/// Performs synchronous speech recognition: receive results after all audio
|
||||
/// has been sent and processed.
|
||||
///
|
||||
/// # Arguments
|
||||
///
|
||||
/// * `request` - No description provided.
|
||||
pub fn syncrecognize(&self, request: SyncRecognizeRequest) -> SpeechSyncrecognizeCall<'a, S> {
|
||||
SpeechSyncrecognizeCall {
|
||||
hub: self.hub,
|
||||
_request: request,
|
||||
_delegate: Default::default(),
|
||||
_additional_params: Default::default(),
|
||||
_scopes: Default::default(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1,35 +0,0 @@
|
||||
use std::collections::HashMap;
|
||||
use std::cell::RefCell;
|
||||
use std::default::Default;
|
||||
use std::collections::BTreeSet;
|
||||
use std::error::Error as StdError;
|
||||
use serde_json as json;
|
||||
use std::io;
|
||||
use std::fs;
|
||||
use std::mem;
|
||||
|
||||
use hyper::client::connect;
|
||||
use tokio::io::{AsyncRead, AsyncWrite};
|
||||
use tokio::time::sleep;
|
||||
use tower_service;
|
||||
use serde::{Serialize, Deserialize};
|
||||
|
||||
use crate::{client, client::GetToken, client::serde_with};
|
||||
|
||||
mod utilities;
|
||||
pub use utilities::*;
|
||||
|
||||
mod hub;
|
||||
pub use hub::*;
|
||||
|
||||
mod schemas;
|
||||
pub use schemas::*;
|
||||
|
||||
mod method_builders;
|
||||
pub use method_builders::*;
|
||||
|
||||
mod call_builders;
|
||||
pub use call_builders::*;
|
||||
|
||||
mod enums;
|
||||
pub use enums::*;
|
||||
@@ -1,357 +0,0 @@
|
||||
use super::*;
|
||||
/// This resource represents a long-running operation that is the result of a
|
||||
/// network API call.
|
||||
///
|
||||
/// # Activities
|
||||
///
|
||||
/// This type is used in activities, which are methods you may call on this type or where this type is involved in.
|
||||
/// The list links the activity name, along with information about where it is used (one of *request* and *response*).
|
||||
///
|
||||
/// * [list operations](OperationListCall) (none)
|
||||
/// * [get operations](OperationGetCall) (response)
|
||||
/// * [asyncrecognize speech](SpeechAsyncrecognizeCall) (response)
|
||||
#[serde_with::serde_as(crate = "::client::serde_with")]
|
||||
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
||||
pub struct Operation {
|
||||
/// If the value is `false`, it means the operation is still in progress.
|
||||
/// If `true`, the operation is completed, and either `error` or `response` is
|
||||
/// available.
|
||||
|
||||
pub done: Option<bool>,
|
||||
/// The normal response of the operation in case of success. If the original
|
||||
/// method returns no data on success, such as `Delete`, the response is
|
||||
/// `google.protobuf.Empty`. If the original method is standard
|
||||
/// `Get`/`Create`/`Update`, the response should be the resource. For other
|
||||
/// methods, the response should have the type `XxxResponse`, where `Xxx`
|
||||
/// is the original method name. For example, if the original method name
|
||||
/// is `TakeSnapshot()`, the inferred response type is
|
||||
/// `TakeSnapshotResponse`.
|
||||
|
||||
pub response: Option<HashMap<String, json::Value>>,
|
||||
/// The server-assigned name, which is only unique within the same service that
|
||||
/// originally returns it. If you use the default HTTP mapping, the
|
||||
/// `name` should have the format of `operations/some/unique/name`.
|
||||
|
||||
pub name: Option<String>,
|
||||
/// The error result of the operation in case of failure or cancellation.
|
||||
|
||||
pub error: Option<Status>,
|
||||
/// Service-specific metadata associated with the operation. It typically
|
||||
/// contains progress information and common metadata such as create time.
|
||||
/// Some services might not provide such metadata. Any method that returns a
|
||||
/// long-running operation should document the metadata type, if any.
|
||||
|
||||
pub metadata: Option<HashMap<String, json::Value>>,
|
||||
}
|
||||
|
||||
impl client::Resource for Operation {}
|
||||
impl client::ResponseResult for Operation {}
|
||||
|
||||
|
||||
/// The response message for Operations.ListOperations.
|
||||
///
|
||||
/// # Activities
|
||||
///
|
||||
/// This type is used in activities, which are methods you may call on this type or where this type is involved in.
|
||||
/// The list links the activity name, along with information about where it is used (one of *request* and *response*).
|
||||
///
|
||||
/// * [list operations](OperationListCall) (response)
|
||||
#[serde_with::serde_as(crate = "::client::serde_with")]
|
||||
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
||||
pub struct ListOperationsResponse {
|
||||
/// The standard List next-page token.
|
||||
#[serde(rename="nextPageToken")]
|
||||
|
||||
pub next_page_token: Option<String>,
|
||||
/// A list of operations that matches the specified filter in the request.
|
||||
|
||||
pub operations: Option<Vec<Operation>>,
|
||||
}
|
||||
|
||||
impl client::ResponseResult for ListOperationsResponse {}
|
||||
|
||||
|
||||
/// Provides "hints" to the speech recognizer to favor specific words and phrases
|
||||
/// in the results.
|
||||
///
|
||||
/// This type is not used in any activity, and only used as *part* of another schema.
|
||||
///
|
||||
#[serde_with::serde_as(crate = "::client::serde_with")]
|
||||
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
||||
pub struct SpeechContext {
|
||||
/// *Optional* A list of strings containing words and phrases "hints" so that
|
||||
/// the speech recognition is more likely to recognize them. This can be used
|
||||
/// to improve the accuracy for specific words and phrases, for example, if
|
||||
/// specific commands are typically spoken by the user. This can also be used
|
||||
/// to add additional words to the vocabulary of the recognizer. See
|
||||
/// [usage limits](https://cloud.google.com/speech/limits#content).
|
||||
|
||||
pub phrases: Option<Vec<String>>,
|
||||
}
|
||||
|
||||
impl client::Part for SpeechContext {}
|
||||
|
||||
|
||||
/// Alternative hypotheses (a.k.a. n-best list).
|
||||
///
|
||||
/// This type is not used in any activity, and only used as *part* of another schema.
|
||||
///
|
||||
#[serde_with::serde_as(crate = "::client::serde_with")]
|
||||
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
||||
pub struct SpeechRecognitionAlternative {
|
||||
/// *Output-only* The confidence estimate between 0.0 and 1.0. A higher number
|
||||
/// indicates an estimated greater likelihood that the recognized words are
|
||||
/// correct. This field is typically provided only for the top hypothesis, and
|
||||
/// only for `is_final=true` results. Clients should not rely on the
|
||||
/// `confidence` field as it is not guaranteed to be accurate, or even set, in
|
||||
/// any of the results.
|
||||
/// The default of 0.0 is a sentinel value indicating `confidence` was not set.
|
||||
|
||||
pub confidence: Option<f32>,
|
||||
/// *Output-only* Transcript text representing the words that the user spoke.
|
||||
|
||||
pub transcript: Option<String>,
|
||||
}
|
||||
|
||||
impl client::Part for SpeechRecognitionAlternative {}
|
||||
|
||||
|
||||
/// A speech recognition result corresponding to a portion of the audio.
|
||||
///
|
||||
/// This type is not used in any activity, and only used as *part* of another schema.
|
||||
///
|
||||
#[serde_with::serde_as(crate = "::client::serde_with")]
|
||||
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
||||
pub struct SpeechRecognitionResult {
|
||||
/// *Output-only* May contain one or more recognition hypotheses (up to the
|
||||
/// maximum specified in `max_alternatives`).
|
||||
|
||||
pub alternatives: Option<Vec<SpeechRecognitionAlternative>>,
|
||||
}
|
||||
|
||||
impl client::Part for SpeechRecognitionResult {}
|
||||
|
||||
|
||||
/// Provides information to the recognizer that specifies how to process the
|
||||
/// request.
|
||||
///
|
||||
/// This type is not used in any activity, and only used as *part* of another schema.
|
||||
///
|
||||
#[serde_with::serde_as(crate = "::client::serde_with")]
|
||||
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
||||
pub struct RecognitionConfig {
|
||||
/// *Optional* Maximum number of recognition hypotheses to be returned.
|
||||
/// Specifically, the maximum number of `SpeechRecognitionAlternative` messages
|
||||
/// within each `SpeechRecognitionResult`.
|
||||
/// The server may return fewer than `max_alternatives`.
|
||||
/// Valid values are `0`-`30`. A value of `0` or `1` will return a maximum of
|
||||
/// one. If omitted, will return a maximum of one.
|
||||
#[serde(rename="maxAlternatives")]
|
||||
|
||||
pub max_alternatives: Option<i32>,
|
||||
/// *Required* Sample rate in Hertz of the audio data sent in all
|
||||
/// `RecognitionAudio` messages. Valid values are: 8000-48000.
|
||||
/// 16000 is optimal. For best results, set the sampling rate of the audio
|
||||
/// source to 16000 Hz. If that's not possible, use the native sample rate of
|
||||
/// the audio source (instead of re-sampling).
|
||||
#[serde(rename="sampleRate")]
|
||||
|
||||
pub sample_rate: Option<i32>,
|
||||
/// *Optional* The language of the supplied audio as a BCP-47 language tag.
|
||||
/// Example: "en-GB" https://www.rfc-editor.org/rfc/bcp/bcp47.txt
|
||||
/// If omitted, defaults to "en-US". See
|
||||
/// [Language Support](https://cloud.google.com/speech/docs/languages)
|
||||
/// for a list of the currently supported language codes.
|
||||
#[serde(rename="languageCode")]
|
||||
|
||||
pub language_code: Option<String>,
|
||||
/// *Optional* If set to `true`, the server will attempt to filter out
|
||||
/// profanities, replacing all but the initial character in each filtered word
|
||||
/// with asterisks, e.g. "f***". If set to `false` or omitted, profanities
|
||||
/// won't be filtered out.
|
||||
#[serde(rename="profanityFilter")]
|
||||
|
||||
pub profanity_filter: Option<bool>,
|
||||
/// *Optional* A means to provide context to assist the speech recognition.
|
||||
#[serde(rename="speechContext")]
|
||||
|
||||
pub speech_context: Option<SpeechContext>,
|
||||
/// *Required* Encoding of audio data sent in all `RecognitionAudio` messages.
|
||||
|
||||
pub encoding: Option<RecognitionConfigEncodingEnum>,
|
||||
}
|
||||
|
||||
impl client::Part for RecognitionConfig {}
|
||||
|
||||
|
||||
/// The top-level message sent by the client for the `AsyncRecognize` method.
|
||||
///
|
||||
/// # Activities
|
||||
///
|
||||
/// This type is used in activities, which are methods you may call on this type or where this type is involved in.
|
||||
/// The list links the activity name, along with information about where it is used (one of *request* and *response*).
|
||||
///
|
||||
/// * [asyncrecognize speech](SpeechAsyncrecognizeCall) (request)
|
||||
#[serde_with::serde_as(crate = "::client::serde_with")]
|
||||
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
||||
pub struct AsyncRecognizeRequest {
|
||||
/// *Required* Provides information to the recognizer that specifies how to
|
||||
/// process the request.
|
||||
|
||||
pub config: Option<RecognitionConfig>,
|
||||
/// *Required* The audio data to be recognized.
|
||||
|
||||
pub audio: Option<RecognitionAudio>,
|
||||
}
|
||||
|
||||
impl client::RequestValue for AsyncRecognizeRequest {}
|
||||
|
||||
|
||||
/// Contains audio data in the encoding specified in the `RecognitionConfig`.
|
||||
/// Either `content` or `uri` must be supplied. Supplying both or neither
|
||||
/// returns google.rpc.Code.INVALID_ARGUMENT. See
|
||||
/// [audio limits](https://cloud.google.com/speech/limits#content).
|
||||
///
|
||||
/// This type is not used in any activity, and only used as *part* of another schema.
|
||||
///
|
||||
#[serde_with::serde_as(crate = "::client::serde_with")]
|
||||
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
||||
pub struct RecognitionAudio {
|
||||
/// URI that points to a file that contains audio data bytes as specified in
|
||||
/// `RecognitionConfig`. Currently, only Google Cloud Storage URIs are
|
||||
/// supported, which must be specified in the following format:
|
||||
/// `gs://bucket_name/object_name` (other URI formats return
|
||||
/// google.rpc.Code.INVALID_ARGUMENT). For more information, see
|
||||
/// [Request URIs](https://cloud.google.com/storage/docs/reference-uris).
|
||||
|
||||
pub uri: Option<String>,
|
||||
/// The audio data bytes encoded as specified in
|
||||
/// `RecognitionConfig`. Note: as with all bytes fields, protobuffers use a
|
||||
/// pure binary representation, whereas JSON representations use base64.
|
||||
|
||||
#[serde_as(as = "Option<::client::serde::urlsafe_base64::Wrapper>")]
|
||||
pub content: Option<Vec<u8>>,
|
||||
}
|
||||
|
||||
impl client::Part for RecognitionAudio {}
|
||||
|
||||
|
||||
/// The top-level message sent by the client for the `SyncRecognize` method.
|
||||
///
|
||||
/// # Activities
|
||||
///
|
||||
/// This type is used in activities, which are methods you may call on this type or where this type is involved in.
|
||||
/// The list links the activity name, along with information about where it is used (one of *request* and *response*).
|
||||
///
|
||||
/// * [syncrecognize speech](SpeechSyncrecognizeCall) (request)
|
||||
#[serde_with::serde_as(crate = "::client::serde_with")]
|
||||
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
||||
pub struct SyncRecognizeRequest {
|
||||
/// *Required* Provides information to the recognizer that specifies how to
|
||||
/// process the request.
|
||||
|
||||
pub config: Option<RecognitionConfig>,
|
||||
/// *Required* The audio data to be recognized.
|
||||
|
||||
pub audio: Option<RecognitionAudio>,
|
||||
}
|
||||
|
||||
impl client::RequestValue for SyncRecognizeRequest {}
|
||||
|
||||
|
||||
/// The only message returned to the client by `SyncRecognize`. method. It
|
||||
/// contains the result as zero or more sequential `SpeechRecognitionResult`
|
||||
/// messages.
|
||||
///
|
||||
/// # Activities
|
||||
///
|
||||
/// This type is used in activities, which are methods you may call on this type or where this type is involved in.
|
||||
/// The list links the activity name, along with information about where it is used (one of *request* and *response*).
|
||||
///
|
||||
/// * [syncrecognize speech](SpeechSyncrecognizeCall) (response)
|
||||
#[serde_with::serde_as(crate = "::client::serde_with")]
|
||||
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
||||
pub struct SyncRecognizeResponse {
|
||||
/// *Output-only* Sequential list of transcription results corresponding to
|
||||
/// sequential portions of audio.
|
||||
|
||||
pub results: Option<Vec<SpeechRecognitionResult>>,
|
||||
}
|
||||
|
||||
impl client::ResponseResult for SyncRecognizeResponse {}
|
||||
|
||||
|
||||
/// The `Status` type defines a logical error model that is suitable for different
|
||||
/// programming environments, including REST APIs and RPC APIs. It is used by
|
||||
/// [gRPC](https://github.com/grpc). The error model is designed to be:
|
||||
///
|
||||
/// * Simple to use and understand for most users
|
||||
/// * Flexible enough to meet unexpected needs
|
||||
///
|
||||
/// # Overview
|
||||
///
|
||||
/// The `Status` message contains three pieces of data: error code, error message,
|
||||
/// and error details. The error code should be an enum value of
|
||||
/// google.rpc.Code, but it may accept additional error codes if needed. The
|
||||
/// error message should be a developer-facing English message that helps
|
||||
/// developers *understand* and *resolve* the error. If a localized user-facing
|
||||
/// error message is needed, put the localized message in the error details or
|
||||
/// localize it in the client. The optional error details may contain arbitrary
|
||||
/// information about the error. There is a predefined set of error detail types
|
||||
/// in the package `google.rpc` that can be used for common error conditions.
|
||||
///
|
||||
/// # Language mapping
|
||||
///
|
||||
/// The `Status` message is the logical representation of the error model, but it
|
||||
/// is not necessarily the actual wire format. When the `Status` message is
|
||||
/// exposed in different client libraries and different wire protocols, it can be
|
||||
/// mapped differently. For example, it will likely be mapped to some exceptions
|
||||
/// in Java, but more likely mapped to some error codes in C.
|
||||
///
|
||||
/// # Other uses
|
||||
///
|
||||
/// The error model and the `Status` message can be used in a variety of
|
||||
/// environments, either with or without APIs, to provide a
|
||||
/// consistent developer experience across different environments.
|
||||
///
|
||||
/// Example uses of this error model include:
|
||||
///
|
||||
/// * Partial errors. If a service needs to return partial errors to the client,
|
||||
/// it may embed the `Status` in the normal response to indicate the partial
|
||||
/// errors.
|
||||
///
|
||||
/// * Workflow errors. A typical workflow has multiple steps. Each step may
|
||||
/// have a `Status` message for error reporting.
|
||||
///
|
||||
/// * Batch operations. If a client uses batch request and batch response, the
|
||||
/// `Status` message should be used directly inside batch response, one for
|
||||
/// each error sub-response.
|
||||
///
|
||||
/// * Asynchronous operations. If an API call embeds asynchronous operation
|
||||
/// results in its response, the status of those operations should be
|
||||
/// represented directly using the `Status` message.
|
||||
///
|
||||
/// * Logging. If some API errors are stored in logs, the message `Status` could
|
||||
/// be used directly after any stripping needed for security/privacy reasons.
|
||||
///
|
||||
/// This type is not used in any activity, and only used as *part* of another schema.
|
||||
#[serde_with::serde_as(crate = "::client::serde_with")]
|
||||
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
||||
pub struct Status {
|
||||
/// A list of messages that carry the error details. There is a common set of
|
||||
/// message types for APIs to use.
|
||||
|
||||
pub details: Option<Vec<HashMap<String, json::Value>>>,
|
||||
/// The status code, which should be an enum value of google.rpc.Code.
|
||||
|
||||
pub code: Option<i32>,
|
||||
/// A developer-facing error message, which should be in English. Any
|
||||
/// user-facing error message should be localized and sent in the
|
||||
/// google.rpc.Status.details field, or localized by the client.
|
||||
|
||||
pub message: Option<String>,
|
||||
}
|
||||
|
||||
impl client::Part for Status {}
|
||||
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
use super::*;
|
||||
/// Identifies the an OAuth2 authorization scope.
|
||||
/// A scope is needed when requesting an
|
||||
/// [authorization token](https://developers.google.com/youtube/v3/guides/authentication).
|
||||
#[derive(PartialEq, Eq, Hash, Debug, Clone)]
|
||||
pub enum Scope {
|
||||
/// View and manage your data across Google Cloud Platform services
|
||||
CloudPlatform,
|
||||
}
|
||||
|
||||
impl AsRef<str> for Scope {
|
||||
fn as_ref(&self) -> &str {
|
||||
match *self {
|
||||
Scope::CloudPlatform => "https://www.googleapis.com/auth/cloud-platform",
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Default for Scope {
|
||||
fn default() -> Scope {
|
||||
Scope::CloudPlatform
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,205 +0,0 @@
|
||||
// DO NOT EDIT !
|
||||
// This file was generated automatically from 'src/generator/templates/api/lib.rs.mako'
|
||||
// DO NOT EDIT !
|
||||
|
||||
//! This documentation was generated from *Speech* crate version *5.0.4+20181005*, where *20181005* is the exact revision of the *speech:v1beta1* schema built by the [mako](http://www.makotemplates.org/) code generator *v5.0.4*.
|
||||
//!
|
||||
//! Everything else about the *Speech* *v1_beta1* API can be found at the
|
||||
//! [official documentation site](https://cloud.google.com/speech-to-text/docs/quickstart-protocol).
|
||||
//! The original source code is [on github](https://github.com/Byron/google-apis-rs/tree/main/gen/speech1_beta1).
|
||||
//! # Features
|
||||
//!
|
||||
//! Handle the following *Resources* with ease from the central [hub](Speech) ...
|
||||
//!
|
||||
//! * [operations](api::Operation)
|
||||
//! * [*get*](api::OperationGetCall) and [*list*](api::OperationListCall)
|
||||
//! * speech
|
||||
//! * [*asyncrecognize*](api::SpeechAsyncrecognizeCall) and [*syncrecognize*](api::SpeechSyncrecognizeCall)
|
||||
//!
|
||||
//!
|
||||
//!
|
||||
//!
|
||||
//! Not what you are looking for ? Find all other Google APIs in their Rust [documentation index](http://byron.github.io/google-apis-rs).
|
||||
//!
|
||||
//! # Structure of this Library
|
||||
//!
|
||||
//! The API is structured into the following primary items:
|
||||
//!
|
||||
//! * **[Hub](Speech)**
|
||||
//! * a central object to maintain state and allow accessing all *Activities*
|
||||
//! * creates [*Method Builders*](client::MethodsBuilder) which in turn
|
||||
//! allow access to individual [*Call Builders*](client::CallBuilder)
|
||||
//! * **[Resources](client::Resource)**
|
||||
//! * primary types that you can apply *Activities* to
|
||||
//! * a collection of properties and *Parts*
|
||||
//! * **[Parts](client::Part)**
|
||||
//! * a collection of properties
|
||||
//! * never directly used in *Activities*
|
||||
//! * **[Activities](client::CallBuilder)**
|
||||
//! * operations to apply to *Resources*
|
||||
//!
|
||||
//! All *structures* are marked with applicable traits to further categorize them and ease browsing.
|
||||
//!
|
||||
//! Generally speaking, you can invoke *Activities* like this:
|
||||
//!
|
||||
//! ```Rust,ignore
|
||||
//! let r = hub.resource().activity(...).doit().await
|
||||
//! ```
|
||||
//!
|
||||
//! Or specifically ...
|
||||
//!
|
||||
//! ```ignore
|
||||
//! let r = hub.operations().list(...).doit().await
|
||||
//! let r = hub.operations().get(...).doit().await
|
||||
//! let r = hub.speech().asyncrecognize(...).doit().await
|
||||
//! ```
|
||||
//!
|
||||
//! The `resource()` and `activity(...)` calls create [builders][builder-pattern]. The second one dealing with `Activities`
|
||||
//! supports various methods to configure the impending operation (not shown here). It is made such that all required arguments have to be
|
||||
//! specified right away (i.e. `(...)`), whereas all optional ones can be [build up][builder-pattern] as desired.
|
||||
//! The `doit()` method performs the actual communication with the server and returns the respective result.
|
||||
//!
|
||||
//! # Usage
|
||||
//!
|
||||
//! ## Setting up your Project
|
||||
//!
|
||||
//! To use this library, you would put the following lines into your `Cargo.toml` file:
|
||||
//!
|
||||
//! ```toml
|
||||
//! [dependencies]
|
||||
//! google-speech1_beta1 = "*"
|
||||
//! serde = "^1.0"
|
||||
//! serde_json = "^1.0"
|
||||
//! ```
|
||||
//!
|
||||
//! ## A complete example
|
||||
//!
|
||||
//! ```test_harness,no_run
|
||||
//! extern crate hyper;
|
||||
//! extern crate hyper_rustls;
|
||||
//! extern crate google_speech1_beta1 as speech1_beta1;
|
||||
//! use speech1_beta1::{Result, Error};
|
||||
//! # async fn dox() {
|
||||
//! use std::default::Default;
|
||||
//! use speech1_beta1::{Speech, oauth2, hyper, hyper_rustls, chrono, FieldMask};
|
||||
//!
|
||||
//! // Get an ApplicationSecret instance by some means. It contains the `client_id` and
|
||||
//! // `client_secret`, among other things.
|
||||
//! let secret: oauth2::ApplicationSecret = Default::default();
|
||||
//! // Instantiate the authenticator. It will choose a suitable authentication flow for you,
|
||||
//! // unless you replace `None` with the desired Flow.
|
||||
//! // Provide your own `AuthenticatorDelegate` to adjust the way it operates and get feedback about
|
||||
//! // what's going on. You probably want to bring in your own `TokenStorage` to persist tokens and
|
||||
//! // retrieve them from storage.
|
||||
//! let auth = oauth2::InstalledFlowAuthenticator::builder(
|
||||
//! secret,
|
||||
//! oauth2::InstalledFlowReturnMethod::HTTPRedirect,
|
||||
//! ).build().await.unwrap();
|
||||
//! let mut hub = Speech::new(hyper::Client::builder().build(hyper_rustls::HttpsConnectorBuilder::new().with_native_roots().https_or_http().enable_http1().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 !
|
||||
//! let result = hub.operations().list()
|
||||
//! .page_token("voluptua.")
|
||||
//! .page_size(-27)
|
||||
//! .name("sanctus")
|
||||
//! .filter("sed")
|
||||
//! .doit().await;
|
||||
//!
|
||||
//! match result {
|
||||
//! Err(e) => match e {
|
||||
//! // The Error enum provides details about what exactly happened.
|
||||
//! // You can also just use its `Debug`, `Display` or `Error` traits
|
||||
//! Error::HttpError(_)
|
||||
//! |Error::Io(_)
|
||||
//! |Error::MissingAPIKey
|
||||
//! |Error::MissingToken(_)
|
||||
//! |Error::Cancelled
|
||||
//! |Error::UploadSizeLimitExceeded(_, _)
|
||||
//! |Error::Failure(_)
|
||||
//! |Error::BadRequest(_)
|
||||
//! |Error::FieldClash(_)
|
||||
//! |Error::JsonDecodeError(_, _) => println!("{}", e),
|
||||
//! },
|
||||
//! Ok(res) => println!("Success: {:?}", res),
|
||||
//! }
|
||||
//! # }
|
||||
//! ```
|
||||
//! ## Handling Errors
|
||||
//!
|
||||
//! All errors produced by the system are provided either as [Result](client::Result) enumeration as return value of
|
||||
//! the doit() methods, or handed as possibly intermediate results to either the
|
||||
//! [Hub Delegate](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](client::Result), should be
|
||||
//! read by you to obtain the media.
|
||||
//! If such a method also supports a [Response Result](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")`.
|
||||
//!
|
||||
//! Methods supporting uploads can do so using up to 2 different protocols:
|
||||
//! *simple* and *resumable*. The distinctiveness of each is represented by customized
|
||||
//! `doit(...)` methods, which are then named `upload(...)` and `upload_resumable(...)` respectively.
|
||||
//!
|
||||
//! ## Customization and Callbacks
|
||||
//!
|
||||
//! You may alter the way an `doit()` method is called by providing a [delegate](client::Delegate) to the
|
||||
//! [Method Builder](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](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](client::RequestValue) and
|
||||
//! [decodable](client::ResponseResult) via *json*. Optionals are used to indicate that partial requests are responses
|
||||
//! are valid.
|
||||
//! Most optionals are are considered [Parts](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](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](client::RequestValue) are moved
|
||||
//!
|
||||
//! Arguments will always be copied or cloned into the builder, to make them independent of their original life times.
|
||||
//!
|
||||
//! [wiki-pod]: http://en.wikipedia.org/wiki/Plain_old_data_structure
|
||||
//! [builder-pattern]: http://en.wikipedia.org/wiki/Builder_pattern
|
||||
//! [google-go-api]: https://github.com/google/google-api-go-client
|
||||
//!
|
||||
//!
|
||||
|
||||
// Unused attributes happen thanks to defined, but unused structures
|
||||
// We don't warn about this, as depending on the API, some data structures or facilities are never used.
|
||||
// Instead of pre-determining this, we just disable the lint. It's manually tuned to not have any
|
||||
// unused imports in fully featured APIs. Same with unused_mut ... .
|
||||
#![allow(unused_imports, unused_mut, dead_code)]
|
||||
|
||||
// DO NOT EDIT !
|
||||
// This file was generated automatically from 'src/generator/templates/api/lib.rs.mako'
|
||||
// DO NOT EDIT !
|
||||
|
||||
// Re-export the hyper and hyper_rustls crate, they are required to build the hub
|
||||
pub use hyper;
|
||||
pub use hyper_rustls;
|
||||
pub extern crate google_apis_common as client;
|
||||
pub use client::chrono;
|
||||
pub mod api;
|
||||
|
||||
// Re-export the hub type and some basic client structs
|
||||
pub use api::Speech;
|
||||
pub use client::{Result, Error, Delegate, FieldMask};
|
||||
|
||||
// Re-export the yup_oauth2 crate, that is required to call some methods of the hub and the client
|
||||
#[cfg(feature = "yup-oauth2")]
|
||||
pub use client::oauth2;
|
||||
Reference in New Issue
Block a user