Q = require 'q'
Http = require 'q-io/http'
Apps = require 'q-io/http-apps'
bunyan = require 'bunyan'
log = bunyan.createLogger {
name: 'asa-test-server'
level: 'debug'
}
route = Apps.Branch {
'ok': (rq,rs) => {
status: 200
headers: {}
data:
result: 'ok'
request:
path: rq.path
pathInfo: rq.pathInfo
response: rs
}
'post': Apps.Method {
'POST': Apps.JsonRequest((o, rq, rs) => {
status: 200
headers: {}
data:
data: o
request:
path: rq.path
pathInfo: rq.pathInfo
response: rs
})
}, Apps.methodNotAllowed
'login': Apps.Method {
'POST': Apps.JsonRequest((o, rq, rs) =>
log.info("Login", o)
{
status: 200
headers: {}
data:
configId: 'cfg1'
sessionId: 'sess1'
})
}
}
app = Apps.Chain()
.use(() => Apps.Log(Apps.HandleJsonResponses(route, null, " "),
(m) => log.info("Access: " + m)))
.end()
Http.Server(app).listen(3000)
# vim: et ts=2 sw=2