boluo 0.7.0

简单易用的异步网络框架
Documentation
<h1 align="center">
    boluo
</h1>

<p align="center">
    简单易用的高性能异步网络框架
</p>

## 介绍


`boluo` 是一个基于 `tokio` 和 `hyper` 开发的轻量级路由层,几乎没有额外的性能开销,拥有极快的运行速度。

## 特点


- 简单清晰的路由定义,支持嵌套路由、宏定义路由和路由合并。
- 提供核心特征 `Service``Middleware`,灵活且易于扩展。
- 提供集中化的错误处理和错误传播机制。

## 可选功能


| 功能名      | 描述                                  | 默认启用 |
| ----------- | ------------------------------------- | -------- |
| http1       | 启用HTTP1服务器                       ||
| http2       | 启用HTTP2服务器                       |          |
| multipart   | 添加对 `multipart/form-data` 格式的支持 |          |
| sse         | 添加对服务器发送事件的支持            |          |
| ws          | 添加对网络套接字的支持                |          |
| static-file | 添加对静态文件的支持                  |          |

## 快速开始


新建项目:

```bash
cargo new demo && cd demo
```

添加依赖:

```toml
[dependencies]
boluo = "0.7"
tokio = { version = "1", features = ["full"] }
```

用以下内容覆盖 `src/main.rs`:

```rust
use boluo::response::IntoResponse;
use boluo::route::Router;
use boluo::server::Server;
use tokio::net::TcpListener;

#[tokio::main]

async fn main() {
    let listener = TcpListener::bind("127.0.0.1:3000").await.unwrap();

    let app = Router::new().mount(hello);

    Server::new(listener).run(app).await.unwrap();
}

#[boluo::route("/", method = "GET")]

async fn hello() -> impl IntoResponse {
    "Hello, World!"
}
```

运行项目:

```bash
cargo run
```

访问服务:

```bash
curl http://127.0.0.1:3000/
```

## 更多示例


[在这里](../examples/)可以找到更多的示例代码。在示例目录中,你可以通过以下命令运行示例:

```bash
cargo run --bin hello
```

## 支持的最低 Rust 版本(MSRV)


支持的最低 Rust 版本为 `1.85.0`。