From be68a7da226743edbce5b52e506d9083e2859578 Mon Sep 17 00:00:00 2001 From: David Blajda Date: Sun, 16 Dec 2018 19:31:45 +0000 Subject: Prototype of a trait based client --- src/bin/main.rs | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'src/bin') diff --git a/src/bin/main.rs b/src/bin/main.rs index 7fdde47..45b25df 100644 --- a/src/bin/main.rs +++ b/src/bin/main.rs @@ -8,12 +8,15 @@ use futures::future::Future; use std::env; use twitch_api::Client; +use twitch_api::helix::HelixClient; + fn main() { dotenv::dotenv().unwrap(); let client_id = &env::var("TWITCH_API").unwrap(); let client = Client::new(client_id); - let clip = client.helix + + let clip = client.helix.clips() .clip(&"EnergeticApatheticTarsierThisIsSparta") .map_err(|err| { println!("{:?}", err); @@ -27,13 +30,19 @@ fn main() { () }); + /* Prevents tokio from **hanging** + * since tokio::run blocks the current thread and waits for the entire runtime + * to become idle but it will never becomes idle since we keep a reference + * to a reqwest client which maintains a connection pool. + */ + std::mem::drop(client); tokio::run( clip.join(clip2) .and_then(|(c1, c2)| { println!("{:?} {:?}", c1, c2); Ok((c1, c2)) }) - .map(|_| { client.nop(); ()}) + .map(|_| ()) .map_err(|_| ()) ); } -- cgit v1.2.3