Files
hyper/README.md
Stephan Sokolow 19d2530c3c docs(readme): add a license badge to README.md
1. Add a shields.io license badge to allow quick, effective identification
   of the license without requiring the user to scroll to the bottom of the
   page.
2. Remove the single-word license section at the bottom of the page as it
   is now superfluous and looks unpolished.
3. Move the crates.io badge beyond the license badge so that its orange
   colour won't knock the viewer's brain off fast-path evaluation when
   using the badge row as a status dashboard (as explained in #525).

Fixes #525
2015-06-03 00:03:53 -04:00

76 lines
1.8 KiB
Markdown

# hyper
[![Build Status](https://travis-ci.org/hyperium/hyper.svg?branch=master)](https://travis-ci.org/hyperium/hyper)
[![Coverage Status](https://coveralls.io/repos/hyperium/hyper/badge.svg?branch=master)](https://coveralls.io/r/hyperium/hyper?branch=master)
[![MIT licensed](https://img.shields.io/badge/license-MIT-blue.svg)](./LICENSE)
[![crates.io](http://meritbadge.herokuapp.com/hyper)](https://crates.io/crates/hyper)
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);
}
```