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.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
411d80fcd66c Imported test server.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     1
Q = require 'q'
411d80fcd66c Imported test server.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     2
Http = require 'q-io/http'
411d80fcd66c Imported test server.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     3
Apps = require 'q-io/http-apps'
411d80fcd66c Imported test server.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     4
bunyan = require 'bunyan'
411d80fcd66c Imported test server.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     5
411d80fcd66c Imported test server.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     6
log = bunyan.createLogger {
411d80fcd66c Imported test server.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     7
  name: 'asa-test-server'
411d80fcd66c Imported test server.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     8
  level: 'debug'
411d80fcd66c Imported test server.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     9
}
411d80fcd66c Imported test server.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    10
411d80fcd66c Imported test server.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    11
route = Apps.Branch {
411d80fcd66c Imported test server.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    12
  'ok': (rq,rs) => {
411d80fcd66c Imported test server.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    13
    status: 200
411d80fcd66c Imported test server.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    14
    headers: {}
411d80fcd66c Imported test server.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    15
    data:
411d80fcd66c Imported test server.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    16
      result: 'ok'
411d80fcd66c Imported test server.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    17
      request:
411d80fcd66c Imported test server.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    18
        path: rq.path
411d80fcd66c Imported test server.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    19
        pathInfo: rq.pathInfo
411d80fcd66c Imported test server.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    20
      response: rs
411d80fcd66c Imported test server.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    21
  }
411d80fcd66c Imported test server.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    22
  'post': Apps.Method {
411d80fcd66c Imported test server.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    23
    'POST': new Apps.Chain().use(Apps.JsonRequest).use(() => (o, rq, rs) => {
411d80fcd66c Imported test server.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    24
      status: 200
411d80fcd66c Imported test server.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    25
      headers: {}
411d80fcd66c Imported test server.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    26
      data:
411d80fcd66c Imported test server.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    27
        post: o
411d80fcd66c Imported test server.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    28
        request:
411d80fcd66c Imported test server.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    29
          path: rq.path
411d80fcd66c Imported test server.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    30
          pathInfo: rq.pathInfo
411d80fcd66c Imported test server.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    31
        response: rs
411d80fcd66c Imported test server.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    32
    }).end()
411d80fcd66c Imported test server.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    33
  }, Apps.methodNotAllowed
411d80fcd66c Imported test server.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    34
}
411d80fcd66c Imported test server.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    35
411d80fcd66c Imported test server.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    36
app = Apps.Chain().use(() => Apps.HandleJsonResponses(route, null, "  "))
411d80fcd66c Imported test server.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    37
  .end()
411d80fcd66c Imported test server.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    38
411d80fcd66c Imported test server.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    39
Http.Server(app).listen(3000)
411d80fcd66c Imported test server.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    40
411d80fcd66c Imported test server.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    41
# vim: et ts=2 sw=2