Simple proxy

Usage

```rust extern crate simple_proxy;

mod middlewares;

use middlewares::auth::Auth; use simpleproxy::middlewares::{Cors, Health, Logger, Router}; use simpleproxy::SimpleProxy;

fn main() { // Middlewares let auth = Auth::new(config.clone()); let health = Health::new("/health", "OK !"); let router = Router::new(config); let logger = Logger::new(); let cors = Cors::new( "*", "GET, POST, PATCH, DELETE, OPTIONS", "Content-Type, Accept, Authorization, X-Requested-Ids, X-Tenant", );

// Order matters
proxy.add_middleware(Box::new(logger));
proxy.add_middleware(Box::new(cors));
proxy.add_middleware(Box::new(health));
proxy.add_middleware(Box::new(router));
proxy.add_middleware(Box::new(auth));

// Start proxy
proxy.run();

}

```

Custom middleware

You can create your custom middleware by creating a struct implementing Middleware, consisting of 4 callbacks:

For more info, see a default middleware