You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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:
letapp= 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
trynext()}
app.use("/express/connect"){ req, res, next intry 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:
letapp= 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, _ inlettagline=arc4random_uniform(UInt32(taglines.count))letvalues:[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.