That it's version 0.x already states that it isn't marked stable yet. And the minor version is now properly bumped when there are breaking changes.
		
			
				
	
	
		
			80 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			80 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # hyper
 | |
| 
 | |
| [](https://travis-ci.org/hyperium/hyper)
 | |
| [](https://crates.io/crates/hyper)
 | |
| [](https://coveralls.io/r/hyperium/hyper?branch=master)
 | |
| 
 | |
| A Modern HTTP library for Rust.
 | |
| 
 | |
| [Documentation](http://hyperium.github.io/hyper)
 | |
| 
 | |
| ## 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](http://hyperium.github.io/hyper).
 | |
| 
 | |
| ## Example
 | |
| 
 | |
| Hello World Server:
 | |
| 
 | |
| ```rust
 | |
| extern crate hyper;
 | |
| 
 | |
| use std::io::Write;
 | |
| 
 | |
| use hyper::Server;
 | |
| use hyper::server::Request;
 | |
| use hyper::server::Response;
 | |
| use hyper::net::Fresh;
 | |
| 
 | |
| fn hello(_: Request, res: Response<Fresh>) {
 | |
|     let mut res = res.start().unwrap();
 | |
|     res.write_all(b"Hello World!").unwrap();
 | |
|     res.end().unwrap();
 | |
| }
 | |
| 
 | |
| fn main() {
 | |
|     Server::http(hello).listen("127.0.0.1:3000").unwrap();
 | |
| }
 | |
| ```
 | |
| 
 | |
| Client:
 | |
| 
 | |
| ```rust
 | |
| 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://www.gooogle.com/")
 | |
|         // 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);
 | |
| }
 | |
| ```
 | |
| 
 | |
| ## License
 | |
| 
 | |
| [MIT](./LICENSE)
 | |
| 
 |