ExExpress

Swift4 Swift5 macOS tuxOS Travis

TODO

请查看 ApacheExpress 的 README 文件。ExExpress 是一个独立于服务器的 Express 工具包,用于 Swift 语言。ApacheExpress 通过为 ExExpress 提供 HTTP '驱动' 来使用它。

ApacheExpress

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_swiftApacheExpressExExpressZeeZide 带给您。我们喜欢反馈、GitHub 星星、酷炫的合同工作,以及您能想到的任何形式的赞扬。

Noze.io Slack 上有一个 #mod_swift 频道。