3 个版本

0.1.2 2020 年 9 月 1 日
0.1.1 2020 年 6 月 11 日
0.1.0 2020 年 6 月 11 日

#547 in HTTP 服务器

自定义许可协议

140KB
3K SLoC

Octane 🚀

一个旨在最小化依赖性同时保持速度的高性能 Web 服务器。基于流行的 JavaScript 网络框架 Express,Octane 结合了 Rust 的速度、Express 的易用性和灵活性,以创造最佳的用户体验。

  • 多线程 🚄
  • 异步设计 🐆
  • 易用、直观的设计 🌱
  • 最小依赖性(正在努力进一步减少!) 💕

基本用法

创建一个 octane 实例,然后您可以使用 app.METHOD() 在其上注册您的函数

use octane::config::Config;
use octane::responder::StatusCode;
use octane::server::Octane;
use octane::{
    route,
    router::{Flow, Route},
};
use std::error::Error;

fn main() -> Result<(), Box<dyn Error>> {
    let mut app = Octane::new();
    app.ssl(8001)
        .key("templates/key.pem")
        .cert("templates/cert.pem");
    app.get(
        "/to_home",
        route!(|req, res| {
            res.redirect("/").send("redirecting");
            Flow::Stop
        }),
    )?;

    app.get(
        "/",
        route!(|req, res| {
            res.send_file("templates/test.html").expect("File not found!");
            Flow::Next
        }),
    )?;

    app.add(Octane::static_dir("templates/"))?;
    app.listen(8000)
}

文档

文档将在 docs.rs 和官方的 Octane 网站 上提供。

贡献

查看 CONTRIBUTING.md 了解如何为此项目做出贡献

许可协议

OctaneWeb/Octane 在 MIT 许可协议 下授权。

依赖性

~4–16MB
~177K SLoC