Pencil Framework Rust​ 的微框架开源项目

我要开发同款
匿名用户2016年03月09日
66阅读
开发技术Rust
所属分类程序开发、微服务框架
授权协议BSD

作品详情

PencilFramework是一个Rust的微框架,其灵感来自于Flask。

一个简单应用:

extern crate pencil;use pencil::{Pencil, Request, Response, PencilResult};fn hello(_: &mut Request) -> PencilResult {    Ok(Response::from("Hello World!"))}fn main() {    let mut app = Pencil::new("/web/hello");    app.get("/", "hello", hello);    app.run("127.0.0.1:5000");}

路由:

fn user(r: &mut Request) -> PencilResult {    let user_id = r.view_args.get("user_id").unwrap();    Ok(format!("user {}", user_id).into())}fn main() {    // app here    app.get("/user/<int:user_id>", "user", user);}

JSON处理:

use std::collections::BTreeMap;use pencil::jsonify;fn app_info(_: &mut Request) -> PencilResult {    let mut d = BTreeMap::new();    d.insert("name", "hello");    d.insert("version", "0.1.0");    return jsonify(&d);}fn main() {    // app here    app.get("/info", "app_info", app_info);}

错误处理:

use pencil::HTTPError;fn page_not_found(_: HTTPError) -> PencilResult {    let mut response = Response::from("Customized 404 :)");    response.status_code = 404;    Ok(response)}fn main() {    // app here    app.httperrorhandler(404, page_not_found);}
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论