use crate::model::{Success, UserDataStream};
use crate::client::Client;
use crate::errors::Result;
use crate::api::API;
use crate::api::Spot;
#[derive(Clone)]
pub struct UserStream {
pub client: Client,
pub recv_window: u64,
}
impl UserStream {
pub fn start(&self) -> Result<UserDataStream> {
self.client.post(API::Spot(Spot::UserDataStream))
}
pub fn keep_alive(&self, listen_key: &str) -> Result<Success> {
self.client.put(API::Spot(Spot::UserDataStream), listen_key)
}
pub fn close(&self, listen_key: &str) -> Result<Success> {
self.client
.delete(API::Spot(Spot::UserDataStream), listen_key)
}
}