use super::event::Event;
use crate::reqwest::{Client, Result};
use crossbeam::channel::{unbounded, Receiver};
use reqwest::header::HeaderMap;
use std::thread;
pub type ReceiverSource = Receiver<Result<Event>>;
pub struct EventSource {}
impl EventSource {
pub fn new(url: reqwest::Url, headers: HeaderMap) -> ReceiverSource {
let (s, r) = unbounded();
thread::spawn(move || {
let client = Client::new(url, headers);
for event in client.into_iter() {
let _ = s.send(event);
}
});
r
}
}