proxy_config 0.0.2

A library to get proxy configuration from the OS.
Documentation
extern crate proxy_config;
extern crate url;

use proxy_config::*;
use url::Url;

use std::env;
use std::process;

fn main() {
    let args: Vec<String> = env::args().skip(1).collect();
    if args.len() == 0 {
        match get_proxy_config() {
            Ok(ProxyConfig { proxies, .. }) => {
                for (_, p) in proxies {
                    println!("{}", p.to_string());
                }
            },
            Err(e) => {
                println!("Error getting proxies: {:?}", e);
                process::exit(1);
            },
        };
    } else {
        for arg in args {
            match get_proxy_for_url(Url::parse(&arg).unwrap()) {
                Ok(proxy) => println!("{} : {}", arg, proxy),
                Err(ProxyConfigError::NoProxyNeededError) => println!("No proxy needed for URL: '{}'", arg),
                Err(e) => {
                    println!("Error getting proxy for URL '{}': {}", arg, e);
                    process::exit(1);
                },
            }
        }
    }
}