diff options
Diffstat (limited to 'src/filters/mod.rs')
-rw-r--r-- | src/filters/mod.rs | 54 |
1 files changed, 0 insertions, 54 deletions
diff --git a/src/filters/mod.rs b/src/filters/mod.rs deleted file mode 100644 index 2bee8e3..0000000 --- a/src/filters/mod.rs +++ /dev/null @@ -1,54 +0,0 @@ -use crate::error::ServiceError; -use crate::State; -use accesslog::AccessLogKind; -use auth::{basic::HttpBasicAuthKind, cookie::CookieAuthKind}; -use bytes::Bytes; -use error::ErrorKind; -use file::FileKind; -use files::FilesKind; -use futures::Future; -use hosts::HostsKind; -use http_body_util::combinators::BoxBody; -use hyper::{body::Incoming, Request, Response}; -use proxy::ProxyKind; -use serde_yaml::Value; -use std::{net::SocketAddr, pin::Pin, sync::Arc}; - -pub mod accesslog; -pub mod auth; -pub mod error; -pub mod file; -pub mod files; -pub mod hosts; -pub mod proxy; - -pub type NodeRequest = Request<Incoming>; -pub type NodeResponse = Response<BoxBody<Bytes, ServiceError>>; - -pub static MODULES: &'static [&'static dyn NodeKind] = &[ - &HttpBasicAuthKind, - &CookieAuthKind, - &ProxyKind, - &HostsKind, - &FilesKind, - &FileKind, - &AccessLogKind, - &ErrorKind, -]; - -pub struct NodeContext { - pub state: Arc<State>, - pub addr: SocketAddr, -} - -pub trait NodeKind: Send + Sync + 'static { - fn name(&self) -> &'static str; - fn instanciate(&self, config: Value) -> anyhow::Result<Arc<dyn Node>>; -} -pub trait Node: Send + Sync + 'static { - fn handle<'a>( - &'a self, - context: &'a mut NodeContext, - request: NodeRequest, - ) -> Pin<Box<dyn Future<Output = Result<NodeResponse, ServiceError>> + Send + Sync + 'a>>; -} |