server.coffee
author Tomas Zeman <tzeman@volny.cz>
Sat, 14 Dec 2013 21:48:08 +0100
changeset 2 26148011541f
parent 1 411d80fcd66c
child 3 0fa2f12fcb3c
permissions -rw-r--r--
Simpler POST

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
}

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

Http.Server(app).listen(3000)

# vim: et ts=2 sw=2