server.coffee
author Tomas Zeman <tzeman@volny.cz>
Sat, 14 Dec 2013 21:58:38 +0100
changeset 3 0fa2f12fcb3c
parent 2 26148011541f
child 4 cbba85b1f677
permissions -rw-r--r--
/login handler; request logging via bunyan
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 {
2
26148011541f Simpler POST
Tomas Zeman <tzeman@volny.cz>
parents: 1
diff changeset
    23
    'POST': Apps.JsonRequest((o, rq, rs) => {
1
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:
2
26148011541f Simpler POST
Tomas Zeman <tzeman@volny.cz>
parents: 1
diff changeset
    27
        data: o
1
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
2
26148011541f Simpler POST
Tomas Zeman <tzeman@volny.cz>
parents: 1
diff changeset
    32
    })
1
411d80fcd66c Imported test server.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    33
  }, Apps.methodNotAllowed
3
0fa2f12fcb3c /login handler; request logging via bunyan
Tomas Zeman <tzeman@volny.cz>
parents: 2
diff changeset
    34
0fa2f12fcb3c /login handler; request logging via bunyan
Tomas Zeman <tzeman@volny.cz>
parents: 2
diff changeset
    35
  'login': Apps.Method {
0fa2f12fcb3c /login handler; request logging via bunyan
Tomas Zeman <tzeman@volny.cz>
parents: 2
diff changeset
    36
    'POST': Apps.JsonRequest((o, rq, rs) =>
0fa2f12fcb3c /login handler; request logging via bunyan
Tomas Zeman <tzeman@volny.cz>
parents: 2
diff changeset
    37
      log.info("Login", o)
0fa2f12fcb3c /login handler; request logging via bunyan
Tomas Zeman <tzeman@volny.cz>
parents: 2
diff changeset
    38
      {
0fa2f12fcb3c /login handler; request logging via bunyan
Tomas Zeman <tzeman@volny.cz>
parents: 2
diff changeset
    39
        status: 200
0fa2f12fcb3c /login handler; request logging via bunyan
Tomas Zeman <tzeman@volny.cz>
parents: 2
diff changeset
    40
        headers: {}
0fa2f12fcb3c /login handler; request logging via bunyan
Tomas Zeman <tzeman@volny.cz>
parents: 2
diff changeset
    41
        data:
0fa2f12fcb3c /login handler; request logging via bunyan
Tomas Zeman <tzeman@volny.cz>
parents: 2
diff changeset
    42
          configId: 'cfg1'
0fa2f12fcb3c /login handler; request logging via bunyan
Tomas Zeman <tzeman@volny.cz>
parents: 2
diff changeset
    43
          sessionId: 'sess1'
0fa2f12fcb3c /login handler; request logging via bunyan
Tomas Zeman <tzeman@volny.cz>
parents: 2
diff changeset
    44
      })
0fa2f12fcb3c /login handler; request logging via bunyan
Tomas Zeman <tzeman@volny.cz>
parents: 2
diff changeset
    45
  }
1
411d80fcd66c Imported test server.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    46
}
411d80fcd66c Imported test server.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    47
3
0fa2f12fcb3c /login handler; request logging via bunyan
Tomas Zeman <tzeman@volny.cz>
parents: 2
diff changeset
    48
app = Apps.Chain()
0fa2f12fcb3c /login handler; request logging via bunyan
Tomas Zeman <tzeman@volny.cz>
parents: 2
diff changeset
    49
  .use(() => Apps.Log(Apps.HandleJsonResponses(route, null, "  "),
0fa2f12fcb3c /login handler; request logging via bunyan
Tomas Zeman <tzeman@volny.cz>
parents: 2
diff changeset
    50
    (m) => log.info("Access: " + m)))
1
411d80fcd66c Imported test server.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    51
  .end()
411d80fcd66c Imported test server.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    52
411d80fcd66c Imported test server.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    53
Http.Server(app).listen(3000)
411d80fcd66c Imported test server.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    54
411d80fcd66c Imported test server.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    55
# vim: et ts=2 sw=2