server.coffee
author Tomas Zeman <tzeman@volny.cz>
Sat, 14 Dec 2013 21:40:24 +0100
changeset 1 411d80fcd66c
child 2 26148011541f
permissions -rw-r--r--
Imported test server.

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': new Apps.Chain().use(Apps.JsonRequest).use(() => (o, rq, rs) => {
      status: 200
      headers: {}
      data:
        post: o
        request:
          path: rq.path
          pathInfo: rq.pathInfo
        response: rs
    }).end()
  }, Apps.methodNotAllowed
}

app = Apps.Chain().use(() => Apps.HandleJsonResponses(route, null, "  "))
  .end()

Http.Server(app).listen(3000)

# vim: et ts=2 sw=2