server.coffee
author Tomas Zeman <tzeman@volny.cz>
Thu, 04 Apr 2013 13:43:58 +0200
changeset 6 cefe9d604286
parent 5 2db4f3d512bb
child 7 691c46c94ee6
permissions -rw-r--r--
server.coffee: fixed call to snmpget (err: utils not defined)
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5
2db4f3d512bb Server prototype
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     1
snmpget = require('./lib/utils').snmpget
2db4f3d512bb Server prototype
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     2
restify = require('restify')
2db4f3d512bb Server prototype
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     3
2db4f3d512bb Server prototype
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     4
server = restify.createServer({name: 'snmp2json', version: '1.0.0'})
2db4f3d512bb Server prototype
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     5
2db4f3d512bb Server prototype
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     6
server.use(restify.acceptParser(server.acceptable))
2db4f3d512bb Server prototype
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     7
server.use(restify.queryParser())
2db4f3d512bb Server prototype
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     8
server.use(restify.bodyParser())
2db4f3d512bb Server prototype
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     9
2db4f3d512bb Server prototype
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    10
server.get('/snmpget/:host/:oid', (req, res, next) ->
2db4f3d512bb Server prototype
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    11
  opts =
2db4f3d512bb Server prototype
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    12
    host: req.params.host
2db4f3d512bb Server prototype
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    13
    oids: [ req.params.oid ]
2db4f3d512bb Server prototype
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    14
  opts.community = req.params.community ? "public"
6
cefe9d604286 server.coffee: fixed call to snmpget (err: utils not defined)
Tomas Zeman <tzeman@volny.cz>
parents: 5
diff changeset
    15
  snmpget(opts, (r) -> res.send r)
5
2db4f3d512bb Server prototype
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    16
  return next()
2db4f3d512bb Server prototype
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    17
)
2db4f3d512bb Server prototype
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    18
2db4f3d512bb Server prototype
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    19
server.post('/snmpget/:host', (req, res, next) ->
2db4f3d512bb Server prototype
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    20
  opts =
2db4f3d512bb Server prototype
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    21
    host: req.params.host
2db4f3d512bb Server prototype
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    22
    oids: req.params.oids
2db4f3d512bb Server prototype
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    23
  opts.community = req.params.community ? "public"
2db4f3d512bb Server prototype
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    24
  snmpget(opts, (r) -> res.send r)
2db4f3d512bb Server prototype
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    25
  return next()
2db4f3d512bb Server prototype
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    26
)
2db4f3d512bb Server prototype
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    27
2db4f3d512bb Server prototype
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    28
server.listen(8080, () ->
2db4f3d512bb Server prototype
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    29
  console.log('%s listening at %s', server.name, server.url))