use std::{pin::Pin, time::Duration};
use bytes::Bytes;
use futures::Stream;
#[cfg(feature = "cache")]
use http_cache_reqwest::CacheMode;
use super::Credentials;
pub enum RequestBody {
None,
Bytes(Bytes),
Stream(Pin<Box<dyn Stream<Item = std::io::Result<Bytes>> + Send>>),
}
#[derive(Clone, Debug, Default)]
pub struct RequestOptions {
#[cfg(feature = "cache")]
pub cache: CacheMode,
#[cfg(feature = "encoding")]
pub compress: Option<String>,
pub body_content_type: Option<String>,
pub credentials: Credentials,
pub headers: Option<Vec<(String, String)>>,
pub integrity: Option<String>,
pub method: Option<String>,
pub priority: Option<&'static str>,
pub timeout: Option<Duration>,
}