areq 0.1.0-alpha5

Async runtime-agnostic HTTP requests
Documentation
#![cfg_attr(all(doc, not(doctest)), doc = include_str!("../README.md"))]
#![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))]
#![cfg_attr(feature = "rtn", feature(return_type_notation))]
#![cfg_attr(not(feature = "rtn"), allow(async_fn_in_trait))]

mod addr;
mod alt;
pub mod body;
mod client;
#[cfg(feature = "http1")]
#[cfg_attr(docsrs, doc(cfg(feature = "http1")))]
pub mod http1;
#[cfg(feature = "http2")]
#[cfg_attr(docsrs, doc(cfg(feature = "http2")))]
pub mod http2;
#[cfg(feature = "http2")]
#[cfg_attr(docsrs, doc(cfg(feature = "http2")))]
mod io;
pub mod negotiate;
mod proto;
#[cfg(feature = "rtn")]
#[cfg_attr(docsrs, doc(cfg(feature = "rtn")))]
mod proto_rtn;
#[cfg(feature = "tls")]
#[cfg_attr(docsrs, doc(cfg(feature = "tls")))]
pub mod tls;

/// The crate's prelude.
pub mod prelude {
    pub use {
        crate::{Client, ClientExt as _, Handshake},
        areq_body::prelude::*,
    };
}

pub use {
    crate::{
        addr::{Address, IntoHost, InvalidUri},
        alt::Alt,
        client::{Client, ClientExt},
        proto::{Error, Handshake, Request, Response, Session},
    },
    bytes, http,
};

#[cfg(feature = "rtn")]
#[cfg_attr(docsrs, doc(cfg(feature = "rtn")))]
pub use crate::proto::HandshakeWith;