当前位置: 首页 > 软件库 > Web应用开发 > Web框架 >

Iron

面向中间件的 Web 框架
授权协议 MIT
开发语言 Rust
所属分类 Web应用开发、 Web框架
软件类型 开源软件
地区 不详
投 递 者 公冶昆杰
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Iron ,一个用 Rust 编写的可扩展的、并发的 Web 框架。

Iron 是一个快速、灵活的面向中间件的服务器框架,它提供了小巧但健壮的基础以创建复杂的应用和 RESTful APIs。Iron 没有和中间件捆绑在一起,任何东西都是可以拖拽的(drag-and-drop),这允许你天马行空地进行模块设置。

extern crate iron;
extern crate time;
use iron::prelude::*;
use iron::{BeforeMiddleware, AfterMiddleware, typemap};
use time::precise_time_ns;
struct ResponseTime;
impl typemap::Key for ResponseTime { type Value = u64; }
impl BeforeMiddleware for ResponseTime {
    fn before(&self, req: &mut Request) -> IronResult<()> {
        req.extensions.insert::<ResponseTime>(precise_time_ns());
        Ok(())
    }
}
impl AfterMiddleware for ResponseTime {
    fn after(&self, req: &mut Request, res: Response) -> IronResult<Response> {
        let delta = precise_time_ns() - *req.extensions.get::<ResponseTime>().unwrap();
        println!("Request took: {} ms", (delta as f64) / 1000000.0);
        Ok(res)
    }
}
fn hello_world(_: &mut Request) -> IronResult<Response> {
    Ok(Response::with((iron::status::Ok, "Hello World")))
}
fn main() {
    let mut chain = Chain::new(hello_world);
    chain.link_before(ResponseTime);
    chain.link_after(ResponseTime);
    Iron::new(chain).http("localhost:3000").unwrap();
}
  • iron-a11y-keys介绍 iron-a11y-keys提供一个符合WAI-ARIA best practices处理键盘命令的一个规范化的接口,元素负责浏览器键盘事件差异和使用一个表达语法过滤按键。 使用的键属性表达组合键将触发事件触发 使用目标属性在一个特定的节点设置事件处理程序。按下一个组合键设置键属性触发对应的按键事件。 Example: 这个元素将在以下符号元素按下时触发arrow

 相关资料
  • next-iron-session �� Next.js and Express (connect middleware) stateless session utility using signed and encrypted cookies to store data This Next.js, Express and Connect backend utility allows you to

  • 我在使用Laravel 5.2框架的中间件组时遇到了一些问题。 我的路线。php文件是: 我在这里使用laravel默认登录/注册身份验证。使用php-artisan-make:auth命令。我想给用户限制一些,例如路由组。所以 如何限制用户的类别路由组? 如果我使用Route::组(['中间件'= 谢谢 N、 B:如果你需要了解任何文件,请在下面给我留言,我会添加这些文件。

  • 本文向大家介绍详解Python的Django框架中的中间件,包括了详解Python的Django框架中的中间件的使用技巧和注意事项,需要的朋友参考一下 什么是中间件 我们从一个简单的例子开始。 高流量的站点通常需要将Django部署在负载平衡proxy之后。 这种方式将带来一些复杂性,其一就是每个request中的远程IP地址(request.META["REMOTE_IP"])将指向该负载平衡p

  • 我已经为Laravel 5.3设置了Laravel Passport包,正如官方文档中所述(https://laravel.com/docs/5.3/passport#introduction). 我希望移动应用程序使用API,因此我尝试实现密码授予令牌。我已经创建了一个密码授予客户端,令牌请求过程。。。 ...正如预期的那样,为我的一个用户返回一个访问令牌和一个刷新令牌。 一方面, 列出api/

  • 本章重点介绍Web框架及其部署。 PyCharm具有部署代码和文件的简单功能。 要使用PyCharm部署代码,我们需要添加一个带有菜单选项Settings -》 Build, Execution-》 Deployment的Web服务器。 现在,包括部署项目所需的各种配置的所有设置。 在Mappings选项卡中,用户可以指定本地代码的位置以及远程复制到何处。 可以使用Tools -》 Deploym

  • 本文向大家介绍浅谈express.js框架中间件(middleware),包括了浅谈express.js框架中间件(middleware)的使用技巧和注意事项,需要的朋友参考一下 _express.js_作为_Node.js_的老牌框架,是现有框架中最全面的。然而在学习express除了那些api之外,对于框架最重要的就是__中间件__这个概念了。如果理解了,就可以把这个框架玩活了,项目开发肯定会