mirror of
https://github.com/OMGeeky/google-apis-rs.git
synced 2026-02-23 15:49:49 +01:00
regen all APIs and validate them
This commit is contained in:
@@ -4,12 +4,12 @@
|
||||
[package]
|
||||
|
||||
name = "google-firebasedynamiclinks1"
|
||||
version = "2.0.8+20210329"
|
||||
version = "3.0.0+20220228"
|
||||
authors = ["Sebastian Thiel <byronimo@gmail.com>"]
|
||||
description = "A complete library to interact with Firebase Dynamic Links (protocol v1)"
|
||||
repository = "https://github.com/Byron/google-apis-rs/tree/main/gen/firebasedynamiclinks1"
|
||||
homepage = "https://firebase.google.com/docs/dynamic-links/"
|
||||
documentation = "https://docs.rs/google-firebasedynamiclinks1/2.0.8+20210329"
|
||||
documentation = "https://docs.rs/google-firebasedynamiclinks1/3.0.0+20220228"
|
||||
license = "MIT"
|
||||
keywords = ["firebasedynamiclinks", "google", "protocol", "web", "api"]
|
||||
autobins = false
|
||||
@@ -22,7 +22,7 @@ mime = "^ 0.2.0"
|
||||
serde = "^ 1.0"
|
||||
serde_json = "^ 1.0"
|
||||
serde_derive = "^ 1.0"
|
||||
yup-oauth2 = "^ 5.0"
|
||||
yup-oauth2 = "^ 6.0"
|
||||
itertools = "^ 0.10"
|
||||
hyper = "^ 0.14"
|
||||
url = "= 1.7"
|
||||
|
||||
@@ -5,24 +5,24 @@ DO NOT EDIT !
|
||||
-->
|
||||
The `google-firebasedynamiclinks1` library allows access to all features of the *Google Firebase Dynamic Links* service.
|
||||
|
||||
This documentation was generated from *Firebase Dynamic Links* crate version *2.0.8+20210329*, where *20210329* is the exact revision of the *firebasedynamiclinks:v1* schema built by the [mako](http://www.makotemplates.org/) code generator *v2.0.8*.
|
||||
This documentation was generated from *Firebase Dynamic Links* crate version *3.0.0+20220228*, where *20220228* is the exact revision of the *firebasedynamiclinks:v1* schema built by the [mako](http://www.makotemplates.org/) code generator *v3.0.0*.
|
||||
|
||||
Everything else about the *Firebase Dynamic Links* *v1* API can be found at the
|
||||
[official documentation site](https://firebase.google.com/docs/dynamic-links/).
|
||||
# Features
|
||||
|
||||
Handle the following *Resources* with ease from the central [hub](https://docs.rs/google-firebasedynamiclinks1/2.0.8+20210329/google_firebasedynamiclinks1/FirebaseDynamicLinks) ...
|
||||
Handle the following *Resources* with ease from the central [hub](https://docs.rs/google-firebasedynamiclinks1/3.0.0+20220228/google_firebasedynamiclinks1/FirebaseDynamicLinks) ...
|
||||
|
||||
* [managed short links](https://docs.rs/google-firebasedynamiclinks1/2.0.8+20210329/google_firebasedynamiclinks1/api::ManagedShortLink)
|
||||
* [*create*](https://docs.rs/google-firebasedynamiclinks1/2.0.8+20210329/google_firebasedynamiclinks1/api::ManagedShortLinkCreateCall)
|
||||
* [managed short links](https://docs.rs/google-firebasedynamiclinks1/3.0.0+20220228/google_firebasedynamiclinks1/api::ManagedShortLink)
|
||||
* [*create*](https://docs.rs/google-firebasedynamiclinks1/3.0.0+20220228/google_firebasedynamiclinks1/api::ManagedShortLinkCreateCall)
|
||||
* short links
|
||||
* [*create*](https://docs.rs/google-firebasedynamiclinks1/2.0.8+20210329/google_firebasedynamiclinks1/api::ShortLinkCreateCall)
|
||||
* [*create*](https://docs.rs/google-firebasedynamiclinks1/3.0.0+20220228/google_firebasedynamiclinks1/api::ShortLinkCreateCall)
|
||||
|
||||
Other activities are ...
|
||||
|
||||
* [get link stats](https://docs.rs/google-firebasedynamiclinks1/2.0.8+20210329/google_firebasedynamiclinks1/api::MethodGetLinkStatCall)
|
||||
* [install attribution](https://docs.rs/google-firebasedynamiclinks1/2.0.8+20210329/google_firebasedynamiclinks1/api::MethodInstallAttributionCall)
|
||||
* [reopen attribution](https://docs.rs/google-firebasedynamiclinks1/2.0.8+20210329/google_firebasedynamiclinks1/api::MethodReopenAttributionCall)
|
||||
* [get link stats](https://docs.rs/google-firebasedynamiclinks1/3.0.0+20220228/google_firebasedynamiclinks1/api::MethodGetLinkStatCall)
|
||||
* [install attribution](https://docs.rs/google-firebasedynamiclinks1/3.0.0+20220228/google_firebasedynamiclinks1/api::MethodInstallAttributionCall)
|
||||
* [reopen attribution](https://docs.rs/google-firebasedynamiclinks1/3.0.0+20220228/google_firebasedynamiclinks1/api::MethodReopenAttributionCall)
|
||||
|
||||
|
||||
|
||||
@@ -30,17 +30,17 @@ Other activities are ...
|
||||
|
||||
The API is structured into the following primary items:
|
||||
|
||||
* **[Hub](https://docs.rs/google-firebasedynamiclinks1/2.0.8+20210329/google_firebasedynamiclinks1/FirebaseDynamicLinks)**
|
||||
* **[Hub](https://docs.rs/google-firebasedynamiclinks1/3.0.0+20220228/google_firebasedynamiclinks1/FirebaseDynamicLinks)**
|
||||
* a central object to maintain state and allow accessing all *Activities*
|
||||
* creates [*Method Builders*](https://docs.rs/google-firebasedynamiclinks1/2.0.8+20210329/google_firebasedynamiclinks1/client::MethodsBuilder) which in turn
|
||||
allow access to individual [*Call Builders*](https://docs.rs/google-firebasedynamiclinks1/2.0.8+20210329/google_firebasedynamiclinks1/client::CallBuilder)
|
||||
* **[Resources](https://docs.rs/google-firebasedynamiclinks1/2.0.8+20210329/google_firebasedynamiclinks1/client::Resource)**
|
||||
* creates [*Method Builders*](https://docs.rs/google-firebasedynamiclinks1/3.0.0+20220228/google_firebasedynamiclinks1/client::MethodsBuilder) which in turn
|
||||
allow access to individual [*Call Builders*](https://docs.rs/google-firebasedynamiclinks1/3.0.0+20220228/google_firebasedynamiclinks1/client::CallBuilder)
|
||||
* **[Resources](https://docs.rs/google-firebasedynamiclinks1/3.0.0+20220228/google_firebasedynamiclinks1/client::Resource)**
|
||||
* primary types that you can apply *Activities* to
|
||||
* a collection of properties and *Parts*
|
||||
* **[Parts](https://docs.rs/google-firebasedynamiclinks1/2.0.8+20210329/google_firebasedynamiclinks1/client::Part)**
|
||||
* **[Parts](https://docs.rs/google-firebasedynamiclinks1/3.0.0+20220228/google_firebasedynamiclinks1/client::Part)**
|
||||
* a collection of properties
|
||||
* never directly used in *Activities*
|
||||
* **[Activities](https://docs.rs/google-firebasedynamiclinks1/2.0.8+20210329/google_firebasedynamiclinks1/client::CallBuilder)**
|
||||
* **[Activities](https://docs.rs/google-firebasedynamiclinks1/3.0.0+20220228/google_firebasedynamiclinks1/client::CallBuilder)**
|
||||
* operations to apply to *Resources*
|
||||
|
||||
All *structures* are marked with applicable traits to further categorize them and ease browsing.
|
||||
@@ -71,11 +71,8 @@ To use this library, you would put the following lines into your `Cargo.toml` fi
|
||||
```toml
|
||||
[dependencies]
|
||||
google-firebasedynamiclinks1 = "*"
|
||||
hyper = "^0.14"
|
||||
hyper-rustls = "^0.22"
|
||||
serde = "^1.0"
|
||||
serde_json = "^1.0"
|
||||
yup-oauth2 = "^5.0"
|
||||
```
|
||||
|
||||
## A complete example
|
||||
@@ -83,13 +80,11 @@ yup-oauth2 = "^5.0"
|
||||
```Rust
|
||||
extern crate hyper;
|
||||
extern crate hyper_rustls;
|
||||
extern crate yup_oauth2 as oauth2;
|
||||
extern crate google_firebasedynamiclinks1 as firebasedynamiclinks1;
|
||||
use firebasedynamiclinks1::api::GetIosPostInstallAttributionRequest;
|
||||
use firebasedynamiclinks1::{Result, Error};
|
||||
use std::default::Default;
|
||||
use oauth2;
|
||||
use firebasedynamiclinks1::FirebaseDynamicLinks;
|
||||
use firebasedynamiclinks1::{FirebaseDynamicLinks, oauth2, hyper, hyper_rustls};
|
||||
|
||||
// Get an ApplicationSecret instance by some means. It contains the `client_id` and
|
||||
// `client_secret`, among other things.
|
||||
@@ -99,9 +94,9 @@ let secret: oauth2::ApplicationSecret = Default::default();
|
||||
// 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 = yup_oauth2::InstalledFlowAuthenticator::builder(
|
||||
let auth = oauth2::InstalledFlowAuthenticator::builder(
|
||||
secret,
|
||||
yup_oauth2::InstalledFlowReturnMethod::HTTPRedirect,
|
||||
oauth2::InstalledFlowReturnMethod::HTTPRedirect,
|
||||
).build().await.unwrap();
|
||||
let mut hub = FirebaseDynamicLinks::new(hyper::Client::builder().build(hyper_rustls::HttpsConnector::with_native_roots()), auth);
|
||||
// As the method needs a request, you would usually fill it with the desired information
|
||||
@@ -136,17 +131,17 @@ match result {
|
||||
```
|
||||
## Handling Errors
|
||||
|
||||
All errors produced by the system are provided either as [Result](https://docs.rs/google-firebasedynamiclinks1/2.0.8+20210329/google_firebasedynamiclinks1/client::Result) enumeration as return value of
|
||||
All errors produced by the system are provided either as [Result](https://docs.rs/google-firebasedynamiclinks1/3.0.0+20220228/google_firebasedynamiclinks1/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-firebasedynamiclinks1/2.0.8+20210329/google_firebasedynamiclinks1/client::Delegate), or the [Authenticator Delegate](https://docs.rs/yup-oauth2/*/yup_oauth2/trait.AuthenticatorDelegate.html).
|
||||
[Hub Delegate](https://docs.rs/google-firebasedynamiclinks1/3.0.0+20220228/google_firebasedynamiclinks1/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-firebasedynamiclinks1/2.0.8+20210329/google_firebasedynamiclinks1/client::Result), should be
|
||||
If a method supports downloads, the response body, which is part of the [Result](https://docs.rs/google-firebasedynamiclinks1/3.0.0+20220228/google_firebasedynamiclinks1/client::Result), should be
|
||||
read by you to obtain the media.
|
||||
If such a method also supports a [Response Result](https://docs.rs/google-firebasedynamiclinks1/2.0.8+20210329/google_firebasedynamiclinks1/client::ResponseResult), it will return that by default.
|
||||
If such a method also supports a [Response Result](https://docs.rs/google-firebasedynamiclinks1/3.0.0+20220228/google_firebasedynamiclinks1/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")`.
|
||||
|
||||
@@ -156,29 +151,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-firebasedynamiclinks1/2.0.8+20210329/google_firebasedynamiclinks1/client::Delegate) to the
|
||||
[Method Builder](https://docs.rs/google-firebasedynamiclinks1/2.0.8+20210329/google_firebasedynamiclinks1/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-firebasedynamiclinks1/3.0.0+20220228/google_firebasedynamiclinks1/client::Delegate) to the
|
||||
[Method Builder](https://docs.rs/google-firebasedynamiclinks1/3.0.0+20220228/google_firebasedynamiclinks1/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-firebasedynamiclinks1/2.0.8+20210329/google_firebasedynamiclinks1/client::Delegate) is default-implemented, allowing you to customize it with minimal effort.
|
||||
The [delegate trait](https://docs.rs/google-firebasedynamiclinks1/3.0.0+20220228/google_firebasedynamiclinks1/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-firebasedynamiclinks1/2.0.8+20210329/google_firebasedynamiclinks1/client::RequestValue) and
|
||||
[decodable](https://docs.rs/google-firebasedynamiclinks1/2.0.8+20210329/google_firebasedynamiclinks1/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-firebasedynamiclinks1/3.0.0+20220228/google_firebasedynamiclinks1/client::RequestValue) and
|
||||
[decodable](https://docs.rs/google-firebasedynamiclinks1/3.0.0+20220228/google_firebasedynamiclinks1/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-firebasedynamiclinks1/2.0.8+20210329/google_firebasedynamiclinks1/client::Part) which are identifiable by name, which will be sent to
|
||||
Most optionals are are considered [Parts](https://docs.rs/google-firebasedynamiclinks1/3.0.0+20220228/google_firebasedynamiclinks1/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-firebasedynamiclinks1/2.0.8+20210329/google_firebasedynamiclinks1/client::CallBuilder), you are able to prepare an action call by repeatedly calling it's methods.
|
||||
Using [method builders](https://docs.rs/google-firebasedynamiclinks1/3.0.0+20220228/google_firebasedynamiclinks1/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-firebasedynamiclinks1/2.0.8+20210329/google_firebasedynamiclinks1/client::RequestValue) are moved
|
||||
* [request values](https://docs.rs/google-firebasedynamiclinks1/3.0.0+20220228/google_firebasedynamiclinks1/client::RequestValue) are moved
|
||||
|
||||
Arguments will always be copied or cloned into the builder, to make them independent of their original life times.
|
||||
|
||||
|
||||
@@ -52,14 +52,12 @@ impl Default for Scope {
|
||||
/// ```test_harness,no_run
|
||||
/// extern crate hyper;
|
||||
/// extern crate hyper_rustls;
|
||||
/// extern crate yup_oauth2 as oauth2;
|
||||
/// extern crate google_firebasedynamiclinks1 as firebasedynamiclinks1;
|
||||
/// use firebasedynamiclinks1::api::GetIosPostInstallAttributionRequest;
|
||||
/// use firebasedynamiclinks1::{Result, Error};
|
||||
/// # async fn dox() {
|
||||
/// use std::default::Default;
|
||||
/// use oauth2;
|
||||
/// use firebasedynamiclinks1::FirebaseDynamicLinks;
|
||||
/// use firebasedynamiclinks1::{FirebaseDynamicLinks, oauth2, hyper, hyper_rustls};
|
||||
///
|
||||
/// // Get an ApplicationSecret instance by some means. It contains the `client_id` and
|
||||
/// // `client_secret`, among other things.
|
||||
@@ -69,9 +67,9 @@ impl Default for Scope {
|
||||
/// // 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 = yup_oauth2::InstalledFlowAuthenticator::builder(
|
||||
/// let auth = oauth2::InstalledFlowAuthenticator::builder(
|
||||
/// secret,
|
||||
/// yup_oauth2::InstalledFlowReturnMethod::HTTPRedirect,
|
||||
/// oauth2::InstalledFlowReturnMethod::HTTPRedirect,
|
||||
/// ).build().await.unwrap();
|
||||
/// let mut hub = FirebaseDynamicLinks::new(hyper::Client::builder().build(hyper_rustls::HttpsConnector::with_native_roots()), auth);
|
||||
/// // As the method needs a request, you would usually fill it with the desired information
|
||||
@@ -106,8 +104,8 @@ impl Default for Scope {
|
||||
/// ```
|
||||
#[derive(Clone)]
|
||||
pub struct FirebaseDynamicLinks<> {
|
||||
client: hyper::Client<hyper_rustls::HttpsConnector<hyper::client::connect::HttpConnector>, hyper::body::Body>,
|
||||
auth: oauth2::authenticator::Authenticator<hyper_rustls::HttpsConnector<hyper::client::connect::HttpConnector>>,
|
||||
pub client: hyper::Client<hyper_rustls::HttpsConnector<hyper::client::connect::HttpConnector>, hyper::body::Body>,
|
||||
pub auth: oauth2::authenticator::Authenticator<hyper_rustls::HttpsConnector<hyper::client::connect::HttpConnector>>,
|
||||
_user_agent: String,
|
||||
_base_url: String,
|
||||
_root_url: String,
|
||||
@@ -121,7 +119,7 @@ impl<'a, > FirebaseDynamicLinks<> {
|
||||
FirebaseDynamicLinks {
|
||||
client,
|
||||
auth: authenticator,
|
||||
_user_agent: "google-api-rust-client/2.0.8".to_string(),
|
||||
_user_agent: "google-api-rust-client/3.0.0".to_string(),
|
||||
_base_url: "https://firebasedynamiclinks.googleapis.com/".to_string(),
|
||||
_root_url: "https://firebasedynamiclinks.googleapis.com/".to_string(),
|
||||
}
|
||||
@@ -138,7 +136,7 @@ impl<'a, > FirebaseDynamicLinks<> {
|
||||
}
|
||||
|
||||
/// Set the user-agent header field to use in all requests to the server.
|
||||
/// It defaults to `google-api-rust-client/2.0.8`.
|
||||
/// It defaults to `google-api-rust-client/3.0.0`.
|
||||
///
|
||||
/// Returns the previously set user-agent.
|
||||
pub fn user_agent(&mut self, agent_name: String) -> String {
|
||||
@@ -625,7 +623,7 @@ impl client::ResponseResult for GetIosReopenAttributionResponse {}
|
||||
///
|
||||
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
||||
pub struct GooglePlayAnalytics {
|
||||
/// [AdWords autotagging parameter](https://support.google.com/analytics/answer/1033981?hl=en); used to measure Google AdWords ads. This value is generated dynamically and should never be modified.
|
||||
/// Deprecated; FDL SDK does not process nor log it.
|
||||
pub gclid: Option<String>,
|
||||
/// Campaign name; used for keyword analysis to identify a specific product promotion or strategic campaign.
|
||||
#[serde(rename="utmCampaign")]
|
||||
@@ -794,18 +792,16 @@ impl client::Part for Suffix {}
|
||||
/// ```test_harness,no_run
|
||||
/// extern crate hyper;
|
||||
/// extern crate hyper_rustls;
|
||||
/// extern crate yup_oauth2 as oauth2;
|
||||
/// extern crate google_firebasedynamiclinks1 as firebasedynamiclinks1;
|
||||
///
|
||||
/// # async fn dox() {
|
||||
/// use std::default::Default;
|
||||
/// use oauth2;
|
||||
/// use firebasedynamiclinks1::FirebaseDynamicLinks;
|
||||
/// use firebasedynamiclinks1::{FirebaseDynamicLinks, oauth2, hyper, hyper_rustls};
|
||||
///
|
||||
/// let secret: oauth2::ApplicationSecret = Default::default();
|
||||
/// let auth = yup_oauth2::InstalledFlowAuthenticator::builder(
|
||||
/// let auth = oauth2::InstalledFlowAuthenticator::builder(
|
||||
/// secret,
|
||||
/// yup_oauth2::InstalledFlowReturnMethod::HTTPRedirect,
|
||||
/// oauth2::InstalledFlowReturnMethod::HTTPRedirect,
|
||||
/// ).build().await.unwrap();
|
||||
/// let mut hub = FirebaseDynamicLinks::new(hyper::Client::builder().build(hyper_rustls::HttpsConnector::with_native_roots()), auth);
|
||||
/// // Usually you wouldn't bind this to a variable, but keep calling *CallBuilders*
|
||||
@@ -854,18 +850,16 @@ impl<'a> ManagedShortLinkMethods<'a> {
|
||||
/// ```test_harness,no_run
|
||||
/// extern crate hyper;
|
||||
/// extern crate hyper_rustls;
|
||||
/// extern crate yup_oauth2 as oauth2;
|
||||
/// extern crate google_firebasedynamiclinks1 as firebasedynamiclinks1;
|
||||
///
|
||||
/// # async fn dox() {
|
||||
/// use std::default::Default;
|
||||
/// use oauth2;
|
||||
/// use firebasedynamiclinks1::FirebaseDynamicLinks;
|
||||
/// use firebasedynamiclinks1::{FirebaseDynamicLinks, oauth2, hyper, hyper_rustls};
|
||||
///
|
||||
/// let secret: oauth2::ApplicationSecret = Default::default();
|
||||
/// let auth = yup_oauth2::InstalledFlowAuthenticator::builder(
|
||||
/// let auth = oauth2::InstalledFlowAuthenticator::builder(
|
||||
/// secret,
|
||||
/// yup_oauth2::InstalledFlowReturnMethod::HTTPRedirect,
|
||||
/// oauth2::InstalledFlowReturnMethod::HTTPRedirect,
|
||||
/// ).build().await.unwrap();
|
||||
/// let mut hub = FirebaseDynamicLinks::new(hyper::Client::builder().build(hyper_rustls::HttpsConnector::with_native_roots()), auth);
|
||||
/// // Usually you wouldn't bind this to a variable, but keep calling *CallBuilders*
|
||||
@@ -914,18 +908,16 @@ impl<'a> ShortLinkMethods<'a> {
|
||||
/// ```test_harness,no_run
|
||||
/// extern crate hyper;
|
||||
/// extern crate hyper_rustls;
|
||||
/// extern crate yup_oauth2 as oauth2;
|
||||
/// extern crate google_firebasedynamiclinks1 as firebasedynamiclinks1;
|
||||
///
|
||||
/// # async fn dox() {
|
||||
/// use std::default::Default;
|
||||
/// use oauth2;
|
||||
/// use firebasedynamiclinks1::FirebaseDynamicLinks;
|
||||
/// use firebasedynamiclinks1::{FirebaseDynamicLinks, oauth2, hyper, hyper_rustls};
|
||||
///
|
||||
/// let secret: oauth2::ApplicationSecret = Default::default();
|
||||
/// let auth = yup_oauth2::InstalledFlowAuthenticator::builder(
|
||||
/// let auth = oauth2::InstalledFlowAuthenticator::builder(
|
||||
/// secret,
|
||||
/// yup_oauth2::InstalledFlowReturnMethod::HTTPRedirect,
|
||||
/// oauth2::InstalledFlowReturnMethod::HTTPRedirect,
|
||||
/// ).build().await.unwrap();
|
||||
/// let mut hub = FirebaseDynamicLinks::new(hyper::Client::builder().build(hyper_rustls::HttpsConnector::with_native_roots()), auth);
|
||||
/// // Usually you wouldn't bind this to a variable, but keep calling *CallBuilders*
|
||||
@@ -1018,18 +1010,16 @@ impl<'a> MethodMethods<'a> {
|
||||
/// ```test_harness,no_run
|
||||
/// # extern crate hyper;
|
||||
/// # extern crate hyper_rustls;
|
||||
/// # extern crate yup_oauth2 as oauth2;
|
||||
/// # extern crate google_firebasedynamiclinks1 as firebasedynamiclinks1;
|
||||
/// use firebasedynamiclinks1::api::CreateManagedShortLinkRequest;
|
||||
/// # async fn dox() {
|
||||
/// # use std::default::Default;
|
||||
/// # use oauth2;
|
||||
/// # use firebasedynamiclinks1::FirebaseDynamicLinks;
|
||||
/// # use firebasedynamiclinks1::{FirebaseDynamicLinks, oauth2, hyper, hyper_rustls};
|
||||
///
|
||||
/// # let secret: oauth2::ApplicationSecret = Default::default();
|
||||
/// # let auth = yup_oauth2::InstalledFlowAuthenticator::builder(
|
||||
/// # let auth = oauth2::InstalledFlowAuthenticator::builder(
|
||||
/// # secret,
|
||||
/// # yup_oauth2::InstalledFlowReturnMethod::HTTPRedirect,
|
||||
/// # oauth2::InstalledFlowReturnMethod::HTTPRedirect,
|
||||
/// # ).build().await.unwrap();
|
||||
/// # let mut hub = FirebaseDynamicLinks::new(hyper::Client::builder().build(hyper_rustls::HttpsConnector::with_native_roots()), auth);
|
||||
/// // As the method needs a request, you would usually fill it with the desired information
|
||||
@@ -1147,22 +1137,22 @@ impl<'a> ManagedShortLinkCreateCall<'a> {
|
||||
Ok(mut res) => {
|
||||
if !res.status().is_success() {
|
||||
let res_body_string = client::get_body_as_string(res.body_mut()).await;
|
||||
let (parts, _) = res.into_parts();
|
||||
let body = hyper::Body::from(res_body_string.clone());
|
||||
let restored_response = hyper::Response::from_parts(parts, body);
|
||||
|
||||
let json_server_error = json::from_str::<client::JsonServerError>(&res_body_string).ok();
|
||||
let server_error = json::from_str::<client::ServerError>(&res_body_string)
|
||||
.or_else(|_| json::from_str::<client::ErrorResponse>(&res_body_string).map(|r| r.error))
|
||||
.ok();
|
||||
let server_response = json::from_str::<serde_json::Value>(&res_body_string).ok();
|
||||
|
||||
if let client::Retry::After(d) = dlg.http_failure(&res,
|
||||
json_server_error,
|
||||
server_error) {
|
||||
if let client::Retry::After(d) = dlg.http_failure(&restored_response, server_response.clone()) {
|
||||
sleep(d);
|
||||
continue;
|
||||
}
|
||||
|
||||
dlg.finished(false);
|
||||
return match json::from_str::<client::ErrorResponse>(&res_body_string){
|
||||
Err(_) => Err(client::Error::Failure(res)),
|
||||
Ok(serr) => Err(client::Error::BadRequest(serr))
|
||||
|
||||
return match server_response {
|
||||
Some(error_value) => Err(client::Error::BadRequest(error_value)),
|
||||
None => Err(client::Error::Failure(restored_response)),
|
||||
}
|
||||
}
|
||||
let result_value = {
|
||||
@@ -1269,18 +1259,16 @@ impl<'a> ManagedShortLinkCreateCall<'a> {
|
||||
/// ```test_harness,no_run
|
||||
/// # extern crate hyper;
|
||||
/// # extern crate hyper_rustls;
|
||||
/// # extern crate yup_oauth2 as oauth2;
|
||||
/// # extern crate google_firebasedynamiclinks1 as firebasedynamiclinks1;
|
||||
/// use firebasedynamiclinks1::api::CreateShortDynamicLinkRequest;
|
||||
/// # async fn dox() {
|
||||
/// # use std::default::Default;
|
||||
/// # use oauth2;
|
||||
/// # use firebasedynamiclinks1::FirebaseDynamicLinks;
|
||||
/// # use firebasedynamiclinks1::{FirebaseDynamicLinks, oauth2, hyper, hyper_rustls};
|
||||
///
|
||||
/// # let secret: oauth2::ApplicationSecret = Default::default();
|
||||
/// # let auth = yup_oauth2::InstalledFlowAuthenticator::builder(
|
||||
/// # let auth = oauth2::InstalledFlowAuthenticator::builder(
|
||||
/// # secret,
|
||||
/// # yup_oauth2::InstalledFlowReturnMethod::HTTPRedirect,
|
||||
/// # oauth2::InstalledFlowReturnMethod::HTTPRedirect,
|
||||
/// # ).build().await.unwrap();
|
||||
/// # let mut hub = FirebaseDynamicLinks::new(hyper::Client::builder().build(hyper_rustls::HttpsConnector::with_native_roots()), auth);
|
||||
/// // As the method needs a request, you would usually fill it with the desired information
|
||||
@@ -1398,22 +1386,22 @@ impl<'a> ShortLinkCreateCall<'a> {
|
||||
Ok(mut res) => {
|
||||
if !res.status().is_success() {
|
||||
let res_body_string = client::get_body_as_string(res.body_mut()).await;
|
||||
let (parts, _) = res.into_parts();
|
||||
let body = hyper::Body::from(res_body_string.clone());
|
||||
let restored_response = hyper::Response::from_parts(parts, body);
|
||||
|
||||
let json_server_error = json::from_str::<client::JsonServerError>(&res_body_string).ok();
|
||||
let server_error = json::from_str::<client::ServerError>(&res_body_string)
|
||||
.or_else(|_| json::from_str::<client::ErrorResponse>(&res_body_string).map(|r| r.error))
|
||||
.ok();
|
||||
let server_response = json::from_str::<serde_json::Value>(&res_body_string).ok();
|
||||
|
||||
if let client::Retry::After(d) = dlg.http_failure(&res,
|
||||
json_server_error,
|
||||
server_error) {
|
||||
if let client::Retry::After(d) = dlg.http_failure(&restored_response, server_response.clone()) {
|
||||
sleep(d);
|
||||
continue;
|
||||
}
|
||||
|
||||
dlg.finished(false);
|
||||
return match json::from_str::<client::ErrorResponse>(&res_body_string){
|
||||
Err(_) => Err(client::Error::Failure(res)),
|
||||
Ok(serr) => Err(client::Error::BadRequest(serr))
|
||||
|
||||
return match server_response {
|
||||
Some(error_value) => Err(client::Error::BadRequest(error_value)),
|
||||
None => Err(client::Error::Failure(restored_response)),
|
||||
}
|
||||
}
|
||||
let result_value = {
|
||||
@@ -1520,17 +1508,15 @@ impl<'a> ShortLinkCreateCall<'a> {
|
||||
/// ```test_harness,no_run
|
||||
/// # extern crate hyper;
|
||||
/// # extern crate hyper_rustls;
|
||||
/// # extern crate yup_oauth2 as oauth2;
|
||||
/// # extern crate google_firebasedynamiclinks1 as firebasedynamiclinks1;
|
||||
/// # async fn dox() {
|
||||
/// # use std::default::Default;
|
||||
/// # use oauth2;
|
||||
/// # use firebasedynamiclinks1::FirebaseDynamicLinks;
|
||||
/// # use firebasedynamiclinks1::{FirebaseDynamicLinks, oauth2, hyper, hyper_rustls};
|
||||
///
|
||||
/// # let secret: oauth2::ApplicationSecret = Default::default();
|
||||
/// # let auth = yup_oauth2::InstalledFlowAuthenticator::builder(
|
||||
/// # let auth = oauth2::InstalledFlowAuthenticator::builder(
|
||||
/// # secret,
|
||||
/// # yup_oauth2::InstalledFlowReturnMethod::HTTPRedirect,
|
||||
/// # oauth2::InstalledFlowReturnMethod::HTTPRedirect,
|
||||
/// # ).build().await.unwrap();
|
||||
/// # let mut hub = FirebaseDynamicLinks::new(hyper::Client::builder().build(hyper_rustls::HttpsConnector::with_native_roots()), auth);
|
||||
/// // You can configure optional parameters by calling the respective setters at will, and
|
||||
@@ -1661,22 +1647,22 @@ impl<'a> MethodGetLinkStatCall<'a> {
|
||||
Ok(mut res) => {
|
||||
if !res.status().is_success() {
|
||||
let res_body_string = client::get_body_as_string(res.body_mut()).await;
|
||||
let (parts, _) = res.into_parts();
|
||||
let body = hyper::Body::from(res_body_string.clone());
|
||||
let restored_response = hyper::Response::from_parts(parts, body);
|
||||
|
||||
let json_server_error = json::from_str::<client::JsonServerError>(&res_body_string).ok();
|
||||
let server_error = json::from_str::<client::ServerError>(&res_body_string)
|
||||
.or_else(|_| json::from_str::<client::ErrorResponse>(&res_body_string).map(|r| r.error))
|
||||
.ok();
|
||||
let server_response = json::from_str::<serde_json::Value>(&res_body_string).ok();
|
||||
|
||||
if let client::Retry::After(d) = dlg.http_failure(&res,
|
||||
json_server_error,
|
||||
server_error) {
|
||||
if let client::Retry::After(d) = dlg.http_failure(&restored_response, server_response.clone()) {
|
||||
sleep(d);
|
||||
continue;
|
||||
}
|
||||
|
||||
dlg.finished(false);
|
||||
return match json::from_str::<client::ErrorResponse>(&res_body_string){
|
||||
Err(_) => Err(client::Error::Failure(res)),
|
||||
Ok(serr) => Err(client::Error::BadRequest(serr))
|
||||
|
||||
return match server_response {
|
||||
Some(error_value) => Err(client::Error::BadRequest(error_value)),
|
||||
None => Err(client::Error::Failure(restored_response)),
|
||||
}
|
||||
}
|
||||
let result_value = {
|
||||
@@ -1798,18 +1784,16 @@ impl<'a> MethodGetLinkStatCall<'a> {
|
||||
/// ```test_harness,no_run
|
||||
/// # extern crate hyper;
|
||||
/// # extern crate hyper_rustls;
|
||||
/// # extern crate yup_oauth2 as oauth2;
|
||||
/// # extern crate google_firebasedynamiclinks1 as firebasedynamiclinks1;
|
||||
/// use firebasedynamiclinks1::api::GetIosPostInstallAttributionRequest;
|
||||
/// # async fn dox() {
|
||||
/// # use std::default::Default;
|
||||
/// # use oauth2;
|
||||
/// # use firebasedynamiclinks1::FirebaseDynamicLinks;
|
||||
/// # use firebasedynamiclinks1::{FirebaseDynamicLinks, oauth2, hyper, hyper_rustls};
|
||||
///
|
||||
/// # let secret: oauth2::ApplicationSecret = Default::default();
|
||||
/// # let auth = yup_oauth2::InstalledFlowAuthenticator::builder(
|
||||
/// # let auth = oauth2::InstalledFlowAuthenticator::builder(
|
||||
/// # secret,
|
||||
/// # yup_oauth2::InstalledFlowReturnMethod::HTTPRedirect,
|
||||
/// # oauth2::InstalledFlowReturnMethod::HTTPRedirect,
|
||||
/// # ).build().await.unwrap();
|
||||
/// # let mut hub = FirebaseDynamicLinks::new(hyper::Client::builder().build(hyper_rustls::HttpsConnector::with_native_roots()), auth);
|
||||
/// // As the method needs a request, you would usually fill it with the desired information
|
||||
@@ -1927,22 +1911,22 @@ impl<'a> MethodInstallAttributionCall<'a> {
|
||||
Ok(mut res) => {
|
||||
if !res.status().is_success() {
|
||||
let res_body_string = client::get_body_as_string(res.body_mut()).await;
|
||||
let (parts, _) = res.into_parts();
|
||||
let body = hyper::Body::from(res_body_string.clone());
|
||||
let restored_response = hyper::Response::from_parts(parts, body);
|
||||
|
||||
let json_server_error = json::from_str::<client::JsonServerError>(&res_body_string).ok();
|
||||
let server_error = json::from_str::<client::ServerError>(&res_body_string)
|
||||
.or_else(|_| json::from_str::<client::ErrorResponse>(&res_body_string).map(|r| r.error))
|
||||
.ok();
|
||||
let server_response = json::from_str::<serde_json::Value>(&res_body_string).ok();
|
||||
|
||||
if let client::Retry::After(d) = dlg.http_failure(&res,
|
||||
json_server_error,
|
||||
server_error) {
|
||||
if let client::Retry::After(d) = dlg.http_failure(&restored_response, server_response.clone()) {
|
||||
sleep(d);
|
||||
continue;
|
||||
}
|
||||
|
||||
dlg.finished(false);
|
||||
return match json::from_str::<client::ErrorResponse>(&res_body_string){
|
||||
Err(_) => Err(client::Error::Failure(res)),
|
||||
Ok(serr) => Err(client::Error::BadRequest(serr))
|
||||
|
||||
return match server_response {
|
||||
Some(error_value) => Err(client::Error::BadRequest(error_value)),
|
||||
None => Err(client::Error::Failure(restored_response)),
|
||||
}
|
||||
}
|
||||
let result_value = {
|
||||
@@ -2049,18 +2033,16 @@ impl<'a> MethodInstallAttributionCall<'a> {
|
||||
/// ```test_harness,no_run
|
||||
/// # extern crate hyper;
|
||||
/// # extern crate hyper_rustls;
|
||||
/// # extern crate yup_oauth2 as oauth2;
|
||||
/// # extern crate google_firebasedynamiclinks1 as firebasedynamiclinks1;
|
||||
/// use firebasedynamiclinks1::api::GetIosReopenAttributionRequest;
|
||||
/// # async fn dox() {
|
||||
/// # use std::default::Default;
|
||||
/// # use oauth2;
|
||||
/// # use firebasedynamiclinks1::FirebaseDynamicLinks;
|
||||
/// # use firebasedynamiclinks1::{FirebaseDynamicLinks, oauth2, hyper, hyper_rustls};
|
||||
///
|
||||
/// # let secret: oauth2::ApplicationSecret = Default::default();
|
||||
/// # let auth = yup_oauth2::InstalledFlowAuthenticator::builder(
|
||||
/// # let auth = oauth2::InstalledFlowAuthenticator::builder(
|
||||
/// # secret,
|
||||
/// # yup_oauth2::InstalledFlowReturnMethod::HTTPRedirect,
|
||||
/// # oauth2::InstalledFlowReturnMethod::HTTPRedirect,
|
||||
/// # ).build().await.unwrap();
|
||||
/// # let mut hub = FirebaseDynamicLinks::new(hyper::Client::builder().build(hyper_rustls::HttpsConnector::with_native_roots()), auth);
|
||||
/// // As the method needs a request, you would usually fill it with the desired information
|
||||
@@ -2178,22 +2160,22 @@ impl<'a> MethodReopenAttributionCall<'a> {
|
||||
Ok(mut res) => {
|
||||
if !res.status().is_success() {
|
||||
let res_body_string = client::get_body_as_string(res.body_mut()).await;
|
||||
let (parts, _) = res.into_parts();
|
||||
let body = hyper::Body::from(res_body_string.clone());
|
||||
let restored_response = hyper::Response::from_parts(parts, body);
|
||||
|
||||
let json_server_error = json::from_str::<client::JsonServerError>(&res_body_string).ok();
|
||||
let server_error = json::from_str::<client::ServerError>(&res_body_string)
|
||||
.or_else(|_| json::from_str::<client::ErrorResponse>(&res_body_string).map(|r| r.error))
|
||||
.ok();
|
||||
let server_response = json::from_str::<serde_json::Value>(&res_body_string).ok();
|
||||
|
||||
if let client::Retry::After(d) = dlg.http_failure(&res,
|
||||
json_server_error,
|
||||
server_error) {
|
||||
if let client::Retry::After(d) = dlg.http_failure(&restored_response, server_response.clone()) {
|
||||
sleep(d);
|
||||
continue;
|
||||
}
|
||||
|
||||
dlg.finished(false);
|
||||
return match json::from_str::<client::ErrorResponse>(&res_body_string){
|
||||
Err(_) => Err(client::Error::Failure(res)),
|
||||
Ok(serr) => Err(client::Error::BadRequest(serr))
|
||||
|
||||
return match server_response {
|
||||
Some(error_value) => Err(client::Error::BadRequest(error_value)),
|
||||
None => Err(client::Error::Failure(restored_response)),
|
||||
}
|
||||
}
|
||||
let result_value = {
|
||||
|
||||
@@ -69,37 +69,6 @@ pub trait ToParts {
|
||||
fn to_parts(&self) -> String;
|
||||
}
|
||||
|
||||
/// A utility type which can decode a server response that indicates error
|
||||
#[derive(Deserialize)]
|
||||
pub struct JsonServerError {
|
||||
pub error: String,
|
||||
pub error_description: Option<String>,
|
||||
}
|
||||
|
||||
/// A utility to represent detailed errors we might see in case there are BadRequests.
|
||||
/// The latter happen if the sent parameters or request structures are unsound
|
||||
#[derive(Deserialize, Serialize, Debug)]
|
||||
pub struct ErrorResponse {
|
||||
pub error: ServerError,
|
||||
}
|
||||
|
||||
#[derive(Deserialize, Serialize, Debug)]
|
||||
pub struct ServerError {
|
||||
pub errors: Vec<ServerMessage>,
|
||||
pub code: u16,
|
||||
pub message: String,
|
||||
}
|
||||
|
||||
#[derive(Deserialize, Serialize, Debug)]
|
||||
pub struct ServerMessage {
|
||||
pub domain: String,
|
||||
pub reason: String,
|
||||
pub message: String,
|
||||
#[serde(rename = "locationType")]
|
||||
pub location_type: Option<String>,
|
||||
pub location: Option<String>,
|
||||
}
|
||||
|
||||
/// A trait specifying functionality to help controlling any request performed by the API.
|
||||
/// The trait has a conservative default implementation.
|
||||
///
|
||||
@@ -190,8 +159,7 @@ pub trait Delegate: Send {
|
||||
fn http_failure(
|
||||
&mut self,
|
||||
_: &hyper::Response<hyper::body::Body>,
|
||||
_err: Option<JsonServerError>,
|
||||
_: Option<ServerError>,
|
||||
_err: Option<serde_json::Value>,
|
||||
) -> Retry {
|
||||
Retry::Abort
|
||||
}
|
||||
@@ -248,7 +216,7 @@ pub enum Error {
|
||||
|
||||
/// Represents information about a request that was not understood by the server.
|
||||
/// Details are included.
|
||||
BadRequest(ErrorResponse),
|
||||
BadRequest(serde_json::Value),
|
||||
|
||||
/// We needed an API key for authentication, but didn't obtain one.
|
||||
/// Neither through the authenticator, nor through the Delegate.
|
||||
@@ -295,21 +263,8 @@ impl Display for Error {
|
||||
"It is used as there are no Scopes defined for this method."
|
||||
)
|
||||
}
|
||||
Error::BadRequest(ref err) => {
|
||||
writeln!(f, "Bad Request ({}): {}", err.error.code, err.error.message)?;
|
||||
for err in err.error.errors.iter() {
|
||||
writeln!(
|
||||
f,
|
||||
" {}: {}, {}{}",
|
||||
err.domain,
|
||||
err.message,
|
||||
err.reason,
|
||||
match err.location {
|
||||
Some(ref loc) => format!("@{}", loc),
|
||||
None => String::new(),
|
||||
}
|
||||
)?;
|
||||
}
|
||||
Error::BadRequest(ref message) => {
|
||||
writeln!(f, "Bad Request: {}", message)?;
|
||||
Ok(())
|
||||
}
|
||||
Error::MissingToken(ref err) => {
|
||||
@@ -661,7 +616,7 @@ impl<'a, A> ResumableUploadHelper<'a, A> {
|
||||
RangeResponseHeader::from_bytes(hh.as_bytes())
|
||||
}
|
||||
None | Some(_) => {
|
||||
if let Retry::After(d) = self.delegate.http_failure(&r, None, None) {
|
||||
if let Retry::After(d) = self.delegate.http_failure(&r, None) {
|
||||
sleep(d);
|
||||
continue;
|
||||
}
|
||||
@@ -757,7 +712,6 @@ impl<'a, A> ResumableUploadHelper<'a, A> {
|
||||
if let Retry::After(d) = self.delegate.http_failure(
|
||||
&reconstructed_result,
|
||||
json::from_str(&res_body_string).ok(),
|
||||
json::from_str(&res_body_string).ok(),
|
||||
) {
|
||||
sleep(d);
|
||||
continue;
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// This file was generated automatically from 'src/mako/api/lib.rs.mako'
|
||||
// DO NOT EDIT !
|
||||
|
||||
//! This documentation was generated from *Firebase Dynamic Links* crate version *2.0.8+20210329*, where *20210329* is the exact revision of the *firebasedynamiclinks:v1* schema built by the [mako](http://www.makotemplates.org/) code generator *v2.0.8*.
|
||||
//! This documentation was generated from *Firebase Dynamic Links* crate version *3.0.0+20220228*, where *20220228* is the exact revision of the *firebasedynamiclinks:v1* schema built by the [mako](http://www.makotemplates.org/) code generator *v3.0.0*.
|
||||
//!
|
||||
//! Everything else about the *Firebase Dynamic Links* *v1* API can be found at the
|
||||
//! [official documentation site](https://firebase.google.com/docs/dynamic-links/).
|
||||
@@ -71,11 +71,8 @@
|
||||
//! ```toml
|
||||
//! [dependencies]
|
||||
//! google-firebasedynamiclinks1 = "*"
|
||||
//! hyper = "^0.14"
|
||||
//! hyper-rustls = "^0.22"
|
||||
//! serde = "^1.0"
|
||||
//! serde_json = "^1.0"
|
||||
//! yup-oauth2 = "^5.0"
|
||||
//! ```
|
||||
//!
|
||||
//! ## A complete example
|
||||
@@ -83,14 +80,12 @@
|
||||
//! ```test_harness,no_run
|
||||
//! extern crate hyper;
|
||||
//! extern crate hyper_rustls;
|
||||
//! extern crate yup_oauth2 as oauth2;
|
||||
//! extern crate google_firebasedynamiclinks1 as firebasedynamiclinks1;
|
||||
//! use firebasedynamiclinks1::api::GetIosPostInstallAttributionRequest;
|
||||
//! use firebasedynamiclinks1::{Result, Error};
|
||||
//! # async fn dox() {
|
||||
//! use std::default::Default;
|
||||
//! use oauth2;
|
||||
//! use firebasedynamiclinks1::FirebaseDynamicLinks;
|
||||
//! use firebasedynamiclinks1::{FirebaseDynamicLinks, oauth2, hyper, hyper_rustls};
|
||||
//!
|
||||
//! // Get an ApplicationSecret instance by some means. It contains the `client_id` and
|
||||
//! // `client_secret`, among other things.
|
||||
@@ -100,9 +95,9 @@
|
||||
//! // 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 = yup_oauth2::InstalledFlowAuthenticator::builder(
|
||||
//! let auth = oauth2::InstalledFlowAuthenticator::builder(
|
||||
//! secret,
|
||||
//! yup_oauth2::InstalledFlowReturnMethod::HTTPRedirect,
|
||||
//! oauth2::InstalledFlowReturnMethod::HTTPRedirect,
|
||||
//! ).build().await.unwrap();
|
||||
//! let mut hub = FirebaseDynamicLinks::new(hyper::Client::builder().build(hyper_rustls::HttpsConnector::with_native_roots()), auth);
|
||||
//! // As the method needs a request, you would usually fill it with the desired information
|
||||
@@ -202,10 +197,13 @@
|
||||
#[macro_use]
|
||||
extern crate serde_derive;
|
||||
|
||||
extern crate hyper;
|
||||
// Re-export the hyper and hyper_rustls crate, they are required to build the hub
|
||||
pub extern crate hyper;
|
||||
pub extern crate hyper_rustls;
|
||||
extern crate serde;
|
||||
extern crate serde_json;
|
||||
extern crate yup_oauth2 as oauth2;
|
||||
// Re-export the yup_oauth2 crate, that is required to call some methods of the hub and the client
|
||||
pub extern crate yup_oauth2 as oauth2;
|
||||
extern crate mime;
|
||||
extern crate url;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user