2c86e8078ec01db2283e1fee1461db4c7bf76d3f
				
			
			
		
	SSL libraries other than OpenSSL don't necessarily have the ability to easily create server and client side connections at the same time. This is backwards compatible due to blanket impls. Closes #756
hyper
A Modern HTTP library for Rust.
Overview
Hyper is a fast, modern HTTP implementation written in and for Rust. It is a low-level typesafe abstraction over raw HTTP, providing an elegant layer over "stringly-typed" HTTP.
Hyper offers both an HTTP/S client and HTTP server which can be used to drive complex web applications written entirely in Rust.
The documentation is located at http://hyperium.github.io/hyper.
Example
Hello World Server:
extern crate hyper;
use hyper::Server;
use hyper::server::Request;
use hyper::server::Response;
fn hello(_: Request, res: Response) {
    res.send(b"Hello World!").unwrap();
}
fn main() {
    Server::http("127.0.0.1:3000").unwrap()
        .handle(hello).unwrap();
}
Client:
extern crate hyper;
use std::io::Read;
use hyper::Client;
use hyper::header::Connection;
fn main() {
    // Create a client.
    let mut client = Client::new();
    // Creating an outgoing request.
    let mut res = client.get("http://rust-lang.org/")
        // set a header
        .header(Connection::close())
        // let 'er go!
        .send().unwrap();
    // Read the Response.
    let mut body = String::new();
    res.read_to_string(&mut body).unwrap();
    println!("Response: {}", body);
}
					Languages
				
				
								
								
									Rust
								
								94.5%
							
						
							
								
								
									C
								
								5.2%
							
						
							
								
								
									Shell
								
								0.3%