zjhttpc 0.8.1

HTTP client made by Jinhui ZHANG. Aims at easy to use, with special features I want
Documentation
use std::any::Any;

use async_std::{io, net::TcpStream};
use async_tls::client::TlsStream;

pub trait AsAny {
    fn as_any(&self) -> &dyn Any;
    fn as_any_mut(&mut self) -> &mut dyn Any;
}
pub trait RWStream: io::Read + io::Write + Unpin + Sync + Send + 'static {}
impl<T: Any + RWStream> AsAny for T {
    fn as_any(&self) -> &dyn Any {
        return self;
    }

    fn as_any_mut(&mut self) -> &mut dyn Any {
        return self;
    }
}

impl RWStream for TcpStream{}
impl RWStream for TlsStream<TcpStream> {}
pub trait AnyStream: RWStream + AsAny {}
impl<T: RWStream + AsAny> AnyStream for T {}
pub type BoxedStream = Box<dyn AnyStream>;