|
|
|
@ -27,6 +27,36 @@ |
|
|
|
|
//! # Ok(())
|
|
|
|
|
//! # }
|
|
|
|
|
//! ```
|
|
|
|
|
//!
|
|
|
|
|
//! Elefren also supports Mastodon's Streaming API:
|
|
|
|
|
//!
|
|
|
|
|
//! # Example
|
|
|
|
|
//!
|
|
|
|
|
//! ```no_run
|
|
|
|
|
//! # extern crate elefren;
|
|
|
|
|
//! # use elefren::prelude::*;
|
|
|
|
|
//! # use std::error::Error;
|
|
|
|
|
//! use elefren::entities::event::Event;
|
|
|
|
|
//! # fn main() -> Result<(), Box<Error>> {
|
|
|
|
|
//! # let data = Data {
|
|
|
|
|
//! # base: "".into(),
|
|
|
|
|
//! # client_id: "".into(),
|
|
|
|
|
//! # client_secret: "".into(),
|
|
|
|
|
//! # redirect: "".into(),
|
|
|
|
|
//! # token: "".into(),
|
|
|
|
|
//! # };
|
|
|
|
|
//! let client = Mastodon::from(data);
|
|
|
|
|
//! for event in client.streaming_user()? {
|
|
|
|
|
//! match event {
|
|
|
|
|
//! Event::Update(ref status) => { /* .. */ },
|
|
|
|
|
//! Event::Notification(ref notification) => { /* .. */ },
|
|
|
|
|
//! Event::Delete(ref id) => { /* .. */ },
|
|
|
|
|
//! Event::FiltersChanged => { /* .. */ },
|
|
|
|
|
//! }
|
|
|
|
|
//! }
|
|
|
|
|
//! # Ok(())
|
|
|
|
|
//! # }
|
|
|
|
|
//! ```
|
|
|
|
|
|
|
|
|
|
#![deny(
|
|
|
|
|
missing_docs, |
|
|
|
@ -428,6 +458,34 @@ impl<H: HttpSend> MastodonClient<H> for Mastodon<H> { |
|
|
|
|
|
|
|
|
|
/// returns events that are relevant to the authorized user, i.e. home
|
|
|
|
|
/// timeline & notifications
|
|
|
|
|
///
|
|
|
|
|
/// # Example
|
|
|
|
|
///
|
|
|
|
|
/// ```no_run
|
|
|
|
|
/// # extern crate elefren;
|
|
|
|
|
/// # use elefren::prelude::*;
|
|
|
|
|
/// # use std::error::Error;
|
|
|
|
|
/// use elefren::entities::event::Event;
|
|
|
|
|
/// # fn main() -> Result<(), Box<Error>> {
|
|
|
|
|
/// # let data = Data {
|
|
|
|
|
/// # base: "".into(),
|
|
|
|
|
/// # client_id: "".into(),
|
|
|
|
|
/// # client_secret: "".into(),
|
|
|
|
|
/// # redirect: "".into(),
|
|
|
|
|
/// # token: "".into(),
|
|
|
|
|
/// # };
|
|
|
|
|
/// let client = Mastodon::from(data);
|
|
|
|
|
/// for event in client.streaming_user()? {
|
|
|
|
|
/// match event {
|
|
|
|
|
/// Event::Update(ref status) => { /* .. */ },
|
|
|
|
|
/// Event::Notification(ref notification) => { /* .. */ },
|
|
|
|
|
/// Event::Delete(ref id) => { /* .. */ },
|
|
|
|
|
/// Event::FiltersChanged => { /* .. */ },
|
|
|
|
|
/// }
|
|
|
|
|
/// }
|
|
|
|
|
/// # Ok(())
|
|
|
|
|
/// # }
|
|
|
|
|
/// ```
|
|
|
|
|
fn streaming_user(&self) -> Result<Self::Stream> { |
|
|
|
|
let response = self.send(self.client.get(&self.route("/api/v1/streaming/user")))?; |
|
|
|
|
let reader = BufReader::new(response); |
|
|
|
|