Crate async_http_proxy[][src]

Expand description

async-http-proxy is a lightweight asynchronous HTTP proxy client library, which can be used to connect a to a TCP port via HTTP Connect proxy. It can use Tokio and async-std as asynchronous runtime.

Example

The following example shows how to connect to example.org via Connect proxy (tokio):

use async_http_proxy::http_connect_tokio;
use std::error::Error;
use tokio::net::TcpStream;
// Features "runtime-tokio" have to be activated
#[tokio::main]
async fn main() -> Result<(), Box<dyn Error>> {
    let mut stream = TcpStream::connect("127.0.0.1:8080").await?;
    http_connect_tokio(&mut stream, "example.org", 443).await?;
    // stream is now connect to github.com
    Ok(())
}

The following example shows how to connect to example.org with Basic Authentication via Connect proxy (async-std):

use async_http_proxy::http_connect_async_std_with_basic_auth;
use async_std::net::TcpStream;
use async_std::task;
use std::error::Error;
// Features "async-std-tokio" and "basic-auth" have to be activated
fn main() -> Result<(), Box<dyn Error>> {
    task::block_on(async {
        let mut stream = TcpStream::connect("127.0.0.1:8080").await?;
        http_connect_async_std_with_basic_auth(
            &mut stream,
            "example.org",
            443,
            "username",
            "password",
        )
        .await?;
        // stream is now connect to github.com
        Ok(())
    })
}

Enums

This enum contains all errors, which can occur during the HTTP CONNECT.

Constants

The maximum HTTP Headers, which can be parsed.

The maximum length of the response header.

Functions

http_connect_async_stdruntime-async-std

Connect to the server defined by the host and port and check if the connection was established.

http_connect_async_std_with_basic_authruntime-async-std and basic-auth

Connect to the server defined by the host and port with basic auth and check if the connection
was established.

http_connect_tokioruntime-tokio

Connect to the server defined by the host and port and check if the connection was established.

http_connect_tokio_with_basic_authruntime-tokio and basic-auth

Connect to the server defined by the host and port with basic auth and check if the connection
was established.