#proxy #environment #http #url

env_proxy

Determination of proxy parameters for a URL from the environment

5 unstable releases

✓ Uses Rust 2018 edition

0.3.1 Apr 28, 2019
0.3.0 Mar 8, 2019
0.2.0 Dec 11, 2017
0.1.1 Jul 19, 2016
0.1.0 Jun 19, 2016

#289 in Network programming

Download history 488/week @ 2019-01-13 507/week @ 2019-01-20 514/week @ 2019-01-27 633/week @ 2019-02-03 599/week @ 2019-02-10 431/week @ 2019-02-17 565/week @ 2019-02-24 670/week @ 2019-03-03 692/week @ 2019-03-10 424/week @ 2019-03-17 501/week @ 2019-03-24 527/week @ 2019-03-31 665/week @ 2019-04-07 1058/week @ 2019-04-14 1042/week @ 2019-04-21

2,751 downloads per month
Used in 5 crates

MIT/Apache

23KB
357 lines

env_proxy

Build Status

Determination of proxy parameters for a URL from the environment.

See the documentation for API reference.

Getting Started

Add the following to the [dependencies] section of your Cargo.toml:

env_proxy = "0.3"

Also, import the crate in your crate root:

extern crate env_proxy;

Example

use url::Url;

let url = Url::parse("http://www.example.org").unwrap();
if let Some(proxy) = env_proxy::for_url(&url).host_port() {
    println!("Proxy host: {}", proxy.0);
    println!("Proxy port: {}", proxy.1);
}

License

This program is distributed under the terms of both the MIT license and the Apache License (Version 2.0), at your option.

See LICENSE-APACHE and LICENSE-MIT.


lib.rs:

Determine proxy parameters for a URL from the environment.

Environment variables are one way to request the use of an HTTP proxy server for outgoing connections in many command-line applications. Which environment variable will be used depends on the target URL and the convention used by the application (or, customarily, the connection library that it uses.)

This crate aims to replicate the convention of the curl library and offer it behind a simple API: in most cases, a single function, for_url(), which accepts a target URL and returns the proxy parameters, if applicable. The method for determining the parameters is described in detail in that function's documentation.

Getting Started

Add the following to the [dependencies] section of your Cargo.toml:

env_proxy = "0.3"

If you're using the 2015 edition of Rust, import the crate to your crate root:

extern crate env_proxy;

Examples

To determine proxy parameters for http://www.example.org:

# extern crate url;
# extern crate env_proxy;
# fn main() {
use env_proxy;
use url::Url;

let url = Url::parse("http://www.example.org").unwrap();
if let Some(proxy) = env_proxy::for_url(&url).host_port() {
    println!("Proxy host: {}", proxy.0);
    println!("Proxy port: {}", proxy.1);
}
# }

Dependencies

~1.5MB
~32K SLoC