3个版本

0.1.13 2022年2月14日
0.1.12 2022年2月12日

#453 in HTTP客户端

每月41次下载

MIT/Apache

595KB
12K SLoC

cogo-http

  • 为Cogo提供的协程HTTP框架,原始代码源自Hyper,我们改进了底层逻辑
  • 支持HTTP服务器
  • 支持HTTP客户端

性能

per

示例服务器

#[deny(unused_variables)]
extern crate cogo_http;

use cogo_http::route::Route;
use cogo_http::server::{Request, Response};

fn hello(req: Request, res: Response) {
    res.send(b"Hello World!").unwrap();
}

fn main() {
    let _listening = cogo_http::Server::http("0.0.0.0:3000").unwrap()
        .handle(hello);
    println!("Listening on http://127.0.0.1:3000");
}

示例客户端

extern crate cogo_http;

use std::io;
use cogo_http::Client;
use cogo_http::header::Connection;

fn main() {
    let mut url = "http://www.baidu.com".to_string();

    let client = Client::new();

    let mut res = client.get(&url)
        .header(Connection::close())
        .send().unwrap();

    println!("Response: {}", res.status);
    println!("Headers:\n{}", res.headers);
    io::copy(&mut res, &mut io::stdout()).unwrap();
}

依赖关系

~6–33MB
~481K SLoC