diff --git a/src/client.rs b/src/client.rs new file mode 100644 index 0000000..23a9626 --- /dev/null +++ b/src/client.rs @@ -0,0 +1,29 @@ +use google_gmail1::{ + common::Client, + hyper_rustls::{self, HttpsConnector}, + hyper_util::{self, client::legacy::connect::HttpConnector}, + yup_oauth2::{self, ApplicationSecret, authenticator::Authenticator}, +}; + +/// Get auth for gmail +pub async fn get_auth(secret: ApplicationSecret) -> Authenticator> { + yup_oauth2::InstalledFlowAuthenticator::builder( + secret, + yup_oauth2::InstalledFlowReturnMethod::HTTPRedirect, + ) + .build() + .await + .unwrap() +} + +/// Get client for gmail +pub fn get_client() -> Client> { + hyper_util::client::legacy::Client::builder(hyper_util::rt::TokioExecutor::new()).build( + hyper_rustls::HttpsConnectorBuilder::new() + .with_native_roots() + .unwrap() + .https_or_http() + .enable_http1() + .build(), + ) +}