rust编写web server服务 web server cml
软件架构说明
http://www.qhd.in
300021630
[dependencies]
wscml = "0.1.7"
增加一个有呀的关闭服务器方法。 在声明服务时增加 over_text("esc") 函数在函数的第一个值中投递一个str变量值。他将在shell中以这个次作为关闭服务的关键字。
``` use wscml::{CmlServer,PortR,Hshell,pr_time};
fn main(){ let mut cml = CmlServer::new("0.0.0.0:8080",1000); cml.httpsetbpost("0.0.0.0:8000"); cml.templ("{$".tostring(),"}".tostring()); //模板的替换模板 cml.overtext("over"); //关闭服务的关键字 cml.httproute( "/", index,""); cml.httproute( "/sleep?user&name", sleep,"get|post"); cml.httproute( "/sleeps?id&code", sleeps,"get"); cml.httproute( "/post?id&mm", post,"get"); cml.biud();
}
fn index (r: PortR, h:Hshell) -> String { println!(" index:{:?}",r); format!("") }
fn sleeps (r: PortR, h:Hshell) -> String {
let sc = r.getg_n("user");
let name: String = r.getg_n("name");
let zt: String = r.getreqtop("state");
let zts: String = r.getreqtop("methods");
let body: String = format!(
"
<head>
<title>{}</title>
<meta name=\"keywords\" content=\"{}\">
<meta name=\"subject-time\" content={:?}>
<meta name=\"description\" content=\"\">
<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1, viewport-fit=cover\">
<meta name=\"format-detection\" content=\"telephone=no\">
</head>
",
"陈孟蕾 - 个人中心 - 华陈数据",
"华陈数据开发者社区,云计算社区,云+社区,开发者技术分享社区,www.qhd.in",
pr_time("%Y-%m-%d %H:%M:%S"),
);
let a: String = format!(
"<html>{}<body><p>按钮</p>user:{} </br> name:{} </br> 状态:{} </br> 方法:{}</body></html>",
body,
sc,
name,
zt,
zts
);
a
}
fn sleep (r: PortR,mut h:Hshell) -> String { println!("{:?}",r);
let tem: String = h
.add("name","野原新之助")
.add("pname","sss")
.template("h/yyxzz.html");
tem
}
fn post (r: PortR, h:Hshell) -> String { format!("post") }
```