express-turnout
Version:
Pre-rendering Single-Page-Application for crawlers.
28 lines (21 loc) • 622 B
text/coffeescript
# Dependencies
Router= (require 'express').Router
Turnout= require './turnout'
path= require 'path'
turnoutMiddleware= (options={})->
turnout= new Turnout options
router= Router()
router.get '/express-turnout.js',(req,res)->
res.sendFile path.join __dirname,'express-turnout.js'
router.use (req,res,next)->
return next() unless turnout.isBot req
res.setHeader 'x-powered-by','Express-turnout'
turnout.render req
.then (html)->
res.status 200
res.end html
.catch (error)->
res.status 403
res.end error.message ? error
router
module.exports= turnoutMiddleware