rust实战入门到进阶(4)
生活随笔
收集整理的這篇文章主要介紹了
rust实战入门到进阶(4)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
web網頁-hello,world
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(); } Cargo.toml [package] name = "learnrust6" version = "0.1.0" authors = ["spxai <lx@myhaspl.com>"] edition = "2018"# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html[dependencies] iron = "0.6.1" time = "0.2.26"總結
以上是生活随笔為你收集整理的rust实战入门到进阶(4)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySQL 无符号和有符号的区别
- 下一篇: Spring 事务方法与非事务方法相互调