server.coffee
changeset 4 cbba85b1f677
parent 3 0fa2f12fcb3c
equal deleted inserted replaced
3:0fa2f12fcb3c 4:cbba85b1f677
     6 log = bunyan.createLogger {
     6 log = bunyan.createLogger {
     7   name: 'asa-test-server'
     7   name: 'asa-test-server'
     8   level: 'debug'
     8   level: 'debug'
     9 }
     9 }
    10 
    10 
       
    11 noContent =
       
    12   status: 204
       
    13   headers: {}
       
    14 
    11 route = Apps.Branch {
    15 route = Apps.Branch {
       
    16   ###
    12   'ok': (rq,rs) => {
    17   'ok': (rq,rs) => {
    13     status: 200
    18     status: 200
    14     headers: {}
    19     headers: {}
    15     data:
    20     data:
    16       result: 'ok'
    21       result: 'ok'
    29           path: rq.path
    34           path: rq.path
    30           pathInfo: rq.pathInfo
    35           pathInfo: rq.pathInfo
    31         response: rs
    36         response: rs
    32     })
    37     })
    33   }, Apps.methodNotAllowed
    38   }, Apps.methodNotAllowed
    34 
    39   ###
       
    40  
    35   'login': Apps.Method {
    41   'login': Apps.Method {
    36     'POST': Apps.JsonRequest((o, rq, rs) =>
    42     'POST': Apps.JsonRequest((o, rq, rs) =>
    37       log.info("Login", o)
    43       log.info("Login", o)
    38       {
    44       {
    39         status: 200
    45         status: 200
    40         headers: {}
    46         headers: {}
    41         data:
    47         data:
    42           configId: 'cfg1'
    48           configId: 'cfg1'
    43           sessionId: 'sess1'
    49           sessionId: 'sess1'
    44       })
    50       })
       
    51   }, Apps.methodNotAllowed
       
    52 
       
    53   'orders': (rq, rs) => {
       
    54     status: 200
       
    55     headers: {}
       
    56     data:
       
    57       orders: [{
       
    58           orderId: 123
       
    59           name: 'Order 1'
       
    60           description: 'Description of order 1'
       
    61         }, {
       
    62           orderId: 554
       
    63           name: 'Order 2'
       
    64           description: 'Description of order 2'
       
    65         }]
    45   }
    66   }
       
    67 
       
    68   'event': Apps.Method {
       
    69     'POST': Apps.JsonRequest((o, rq, rs) =>
       
    70       log.info("Event", o)
       
    71       noContent
       
    72     )
       
    73   }, Apps.methodNotAllowed
       
    74 
       
    75   'ping': Apps.Method {
       
    76     'POST': Apps.JsonRequest((o, rq, rs) =>
       
    77       log.info("Ping", o)
       
    78       noContent
       
    79     )
       
    80   }, Apps.methodNotAllowed
       
    81 
       
    82   'log': Apps.Method {
       
    83     'POST': Apps.JsonRequest((o, rq, rs) =>
       
    84       log.info("Ping", o)
       
    85       noContent
       
    86     )
       
    87     'GET': (rq, rs) => {
       
    88       status: 200
       
    89       headers: {}
       
    90       data:
       
    91         lastLog: new Date().toISOString()
       
    92     }
       
    93   }, Apps.methodNotAllowed
    46 }
    94 }
    47 
    95 
    48 app = Apps.Chain()
    96 app = Apps.Chain()
    49   .use(() => Apps.Log(Apps.HandleJsonResponses(route, null, "  "),
    97   .use(() => Apps.Log(Apps.HandleJsonResponses(route, null, "  "),
    50     (m) => log.info("Access: " + m)))
    98     (m) => log.info("Access: " + m)))