Checkout the ApacheExpress README.
ExExpress is a server-independent Express toolkit for Swift.
ApacheExpress is using that by providing the HTTP ‘driver’ for ExExpress.
ApacheExpress
TODO: Cleanup the README.
This is what you can do
Fair enough. So we integrated a tiny subset of
Noze.io
to allow you to do just that. This is what it looks like:
server.onRequest { req, res in
res.writeHead(200, [ "Content-Type": "text/html" ])
try res.end("<h1>Hello World</h1>")
}
Now you are saying, this is all nice and pretty. But what about Connect?
I want to write and reuse middleware!
Here you go:
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()
}
And Express? Sure, the ExExpress is about to leave:
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)
}
mod_swift, ApacheExpress and ExExpress are brought to you by
ZeeZide.
We like feedback, GitHub stars, cool contract work,
presumably any form of praise you can think of.
ExExpress
TODO
Checkout the ApacheExpress README. ExExpress is a server-independent Express toolkit for Swift. ApacheExpress is using that by providing the HTTP ‘driver’ for ExExpress.
ApacheExpress
TODO: Cleanup the README.
This is what you can do
Fair enough. So we integrated a tiny subset of Noze.io to allow you to do just that. This is what it looks like:
Now you are saying, this is all nice and pretty. But what about Connect? I want to write and reuse middleware! Here you go:
And Express? Sure, the ExExpress is about to leave:
Documentation
ApacheExpress documentation can be found at: docs.apacheexpress.io.
Who
mod_swift, ApacheExpress and ExExpress are brought to you by ZeeZide. We like feedback, GitHub stars, cool contract work, presumably any form of praise you can think of.
There is a
#mod_swift
channel on the Noze.io Slack.