TODO
请查看 ApacheExpress 的 README 文件。ExExpress 是一个独立于服务器的 Express 工具包,用于 Swift 语言。ApacheExpress 通过为 ExExpress 提供 HTTP '驱动' 来使用它。
TODO:清理 README 文件。
好吧。所以我们集成了一小部分的 Noze.io,以便您能够做到这一点。这就是它的样子
server.onRequest { req, res in
res.writeHead(200, [ "Content-Type": "text/html" ])
try res.end("<h1>Hello World</h1>")
}
现在您可能会说,这都很不错。但是 Connect 呢?我想编写和重用中间件!给你。
let app = server.connect()
app.use { req, res, next in
console.info("Request is passing Connect middleware ...")
res.setHeader("Content-Type", "text/html; charset=utf-8")
// Note: we do not close the request, we continue with the next middleware
try next()
}
app.use("/express/connect") { req, res, next in
try res.write("<p>This is a random cow:</p><pre>")
try res.write(vaca())
try res.write("</pre>")
res.end()
}
还有 Express 呢?当然,ExExpress 即将问世。
let app = server.express(cookieParser(), session())
app.get("/express/cookies") { req, res, _ in
// returns all cookies as JSON
try res.json(req.cookies)
}
app.get("/express/") { req, res, _ in
let tagline = arc4random_uniform(UInt32(taglines.count))
let values : [ String : Any ] = [
"tagline" : taglines[Int(tagline)],
"viewCount" : req.session["viewCount"] ?? 0,
"cowOfTheDay" : cows.vaca()
]
try res.render("index", values)
}
ApacheExpress 文档可以在以下网址找到:docs.apacheexpress.io。
mod_swift、ApacheExpress 和 ExExpress 由 ZeeZide 带给您。我们喜欢反馈、GitHub 星星、酷炫的合同工作,以及您能想到的任何形式的赞扬。
在 Noze.io Slack 上有一个 #mod_swift
频道。