8个版本

使用旧的Rust 2015

0.1.7 2018年4月26日
0.1.6 2018年4月25日

#http2中排名第41

每月下载量25

MIT许可协议

42KB
1K SLoC

Rust 1K SLoC // 0.1% comments Shell 108 SLoC // 0.0% comments

httimple.rs 构建状态 版本 下载

用于构建API的简单HTTP 2.0库

简介

Httiple旨在使Rust中的HTTP/2 over TLS简单。它采用类似于Express的接口。

实现

  • h2标准的简单实现。
  • 基于流状态的处理器。
  • 不同的方法

正在开发中

  • 使HTTP/2的实现能在所有浏览器中工作(目前仅适用于Chrome)
  • 修复TLS错误(不知道这是否是我的错误还是rustls的问题)
  • 实现缺失的帧类型。
  • 添加对优先级的支持。
  • 使回调成为future。
  • 在Rust中实现一个正确的hpack库(目前使用的似乎有点问题)
  • 提供静态文件(已经开始,但目前无法进行多个请求)

入门

1. 安装Rust。
2. 创建项目。
cargo new myserver 
3. 添加所需文件。

在主文件夹中添加index.html和证书。将证书文件夹命名为"ca"。

4. 添加依赖项

将此内容添加到您的Cargo.toml中

[dependencies]
httimple = "*"
5. 编写代码

创建一个包含此内容的文件,并将其命名为main.rs。

extern crate httimple;

use httimple::app::App;

use httimple::app::message::Message;
use httimple::app::call::Call;

use httimple::helpers::file;


fn main() {
    let mut app = App::new();
    app.serve("/", | call: &Call | -> Message {
        Message::from(file("index.html"))
    });
    app.start();
}
6. 运行代码
cargo run --release

依赖项

~10MB
~288K SLoC