#fun #web #safe #extensible

webframework

一个可扩展的Web框架,其主要目的是:安全、有趣、快速

2个版本

0.0.2 2018年12月6日
0.0.1 2018年11月19日

#76 in #extensible

MIT许可证

29KB
644

Rust的Web框架

Web框架源于一个简单的想法:使开发变得有趣!

为了实现这一点,它试图最大化以下概念

  • 生产力
  • 乐趣
  • 安全性

并尽量减少以下内容

  • 常规情况下的广泛配置
  • 重复的样板代码

当然,在这种情况下创建一个完美的框架是不可能的,但我们尽力做到最好。

Web框架有很强的观点,如果您希望讨论已经做出的决定,您可以提出问题,但我希望您能理解并非每个建议都可以或应该被实施。

灵感来源

这个框架深受“Ruby on Rails”体验的启发。然而,它并不试图完全复制或一开始就具备完整的功能。然而,整个项目的核心概念在这里也应该引起共鸣。

技术概述

如果您正在寻找文档,您可以在这里查看:文档。在那里您将找到一个教程,或者您也可以查看示例来了解如何使用它。


路由

Web框架试图使路由尽可能简单。为了指定一个单一的“路由条目”,必须指定三件事

  • 限制列表(是GET请求吗?是POST请求吗?用户是否已登录?)
  • 路径("/about","/tasks/new")
  • 路由器或控制器

当请求发送到Web框架时,它首先检查是否匹配路径并传递所有限制。只有在这种情况下,它才会传递到下一个路由器或控制器。

这意味着路由可以看作是一个路由路径的树。每个叶子节点都是一个控制器,而中间的所有节点都是路由器。

贡献

如果您想为项目做出贡献,您可以检查问题,回答那些有疑问的问题,实现一个新功能,或者编写更多的文档。

路线图

目前Web框架仍处于起步阶段,但以下是它近期需要完成的“重大”里程碑

  • 完成路由
    • 路径匹配与提取项
    • 扩展控制器宏以支持从请求中提取参数
  • 各种扩展点
  • 日志/其他硬编码项的可配置性
  • 集成模板

依赖项

~11–20MB
~310K SLoC