use hyper;
use hyper::body::Bytes;
use http_body_util::Full;
use hyper_tls::HttpsConnector;
use hyper_util::client::legacy::connect::Connect;
use hyper_util::client::legacy::connect::HttpConnector;
use hyper_util::client::legacy::Client;
use hyper_util::rt::TokioExecutor;
type Connector = HttpsConnector<HttpConnector>;
pub struct Configuration<C: Connect = Connector>
where
C: Clone + std::marker::Send + Sync + 'static,
{
pub base_path: String,
pub user_agent: Option<String>,
pub client: Client<C, Full<Bytes>>,
pub basic_auth: Option<BasicAuth>,
pub oauth_access_token: Option<String>,
pub api_key: Option<ApiKey>,
}
pub type BasicAuth = (String, Option<String>);
pub struct ApiKey {
pub prefix: Option<String>,
pub key: String,
}
impl<C: Connect> Configuration<C>
where
C: Clone + std::marker::Send + Sync,
{
pub fn new(client: Client<Connector, Full<Bytes>>) -> Configuration<Connector> {
Configuration::with_client(client)
}
}
impl<C: Connect> Configuration<C>
where
C: Clone + std::marker::Send + Sync,
{
pub fn with_client(client: Client<C, Full<Bytes>>) -> Configuration<C> {
Configuration {
base_path: "https://api.line.me".to_owned(),
user_agent: Some("OpenAPI-Generator/0.0.1/rust".to_owned()),
client,
basic_auth: None,
oauth_access_token: None,
api_key: None,
}
}
}