1 unstable release

new 0.1.0 Dec 17, 2024

#606 in HTTP server

MIT license

75KB
1.5K SLoC

Actix proxy service

Reverse HTTP and websocket service for Actix Web.

Provides a service for Actix Web that can be used to proxy requests from client to another server.

Examples

use actix_web::{guard, middleware, App, HttpServer};
use redirectionio_actix_proxy::{HttpPeer, Proxy};
use std::net::ToSocketAddrs;

#[actix_rt::main]
async fn main() -> std::io::Result<()> {
    let address = "127.0.0.1:80"
        .to_socket_addrs()
        .expect("error getting addresses")
        .next()
        .expect("cannot get address");

    HttpServer::new(move || {
        App::new()
            .service(Proxy::new(HttpPeer::new(address, "my-proxy.com")))
    })
        .bind(("127.0.0.1", 8080))?
        .workers(2)
        .run()
        .await
}

Dependencies

~17–31MB
~561K SLoC