【每周一库】 Sincere - a micro web framework for Rust
时间:2022-07-28
本文章向大家介绍【每周一库】 Sincere - a micro web framework for Rust,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
本期的每周一库带来的是Sincere库,一个轻量级的多线程web框架。
Sincere库可以快速的搭建一个本地的web服务器,并且支持路由和中间件,操作起来非常像node搭建的web服务器,适合于快速测试和原型搭建。
首先是一些有用的链接
- Sincere github repo
- Sincere crate docs
接下来我们快速试用Sincere库,你会发现非常非常的直观和简单,这里搭建一个简单的返回字符串的web服务器,类似node下的helloworld和python flask的helloworld。
测试环境
-
cargo --version
: cargo 1.46.0-nightly (089cbb80b 2020-06-15) -
rustc --version
: rustc 1.46.0-nightly (6bb3dbfc6 2020-06-22) - OS: Windows 10
创建工程后首先在Cargo.toml
文件中添加依赖
[dependencies]
sincere = "0.7.0-alpha.1"
写入示例代码
extern crate sincere;
use sincere::App;
fn main() {
let mut app = App::new();
app.get("/", |context| {
context.response.from_text("Hello Sincere!").unwrap();
});
app.run("127.0.0.1:8000").unwrap();
}
运行效果如下:
访问本地url
写在最后,本期的每周一库测试了两个很久没有维护的rust库,github上显示最后更新均为四年之前。一个名为Rustful,另一个名为Rustless。这两个库都因为长时间没有更新导致依赖项版本脱节,基本处于不可用的状态。
其中Rustful库使用openssl相关的依赖,导致依赖的Opnessl 0.7.14版本过低,无法完成编译,在Windows下进行测试过程中cargo build
会出现openssl build失败错误,简要分析原因是因为rustful依赖的openssl版本为0.7.14,版本过于老旧,并不支持openssl 1.0.1版本。错误信息如下:
所以在使用库的时候最好选择还在维护,并且关键依赖项没有过期的库非常重要。
以上就是本期每周一库的内容。
- 你所不知道的渗透测试:应用虚拟化的攻防
- C++中const小结
- 很多人不知道还有这个——搜索框组件SearchView
- 免费主题暗藏后门,波及WordPress等知名CMS系统
- 揭秘:针对PoS机的恶意软件工具箱
- 屏幕宽高不够,滚动视图ScrollView来凑
- 结合中间人攻击,Pidgin鸡肋漏洞变废为宝
- 日历视图CalendarView和定时器Chronometer
- 不用Linux也可以的强大文本处理方法
- 虚函数与虚继承寻踪
- AnalogClock、DigitalClock和TextClock时钟组件
- Sqlmap联合Nginx实现“地毯式”检测网站SQL注入漏洞
- 两分钟掌握数值选择器NumberPicker
- 对象的传值与返回
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- OpenCV绘制箭头线段---函数arrowedLine()使用(C++ Python)
- PyTorch中基于TPU的FastAI多类图像分类
- 【Rust日报】 2020-08-20 Chrome 的 Rust 与 C++ 的互操作性
- 聊聊claudb的DatabaseCleaner
- nc很强大,容易让人蹲号子
- Rust FFI 编程 - Rust导出共享库05
- 详解ENet | CPU可以实时的道路分割网络
- Linux进程调度之 - O(1)调度算法
- 从零开始编写一个WEB服务器 - 基础
- Redis 6.0 IO线程功能分析
- RCU锁原理与实现
- HBase Bulkload 实践探讨
- 如何在 Linux 上恢复误删除的文件或目录?
- 有赞 Android 编译进阶之路——全量编译提效方案
- Redis 模块机制 - 模块编写篇