1 snmpget = require('./lib/utils').snmpget |
1 snmpget = require('./lib/utils').snmpget |
2 restify = require('restify') |
2 restify = require('restify') |
|
3 bunyan = require 'bunyan' |
3 |
4 |
4 server = restify.createServer({name: 'snmp2json', version: '1.0.0'}) |
5 appname = 'snmp2json' |
|
6 |
|
7 log = bunyan.createLogger({name: appname}) |
|
8 log.level 'debug' |
|
9 |
|
10 server = restify.createServer({name: appname, version: '1.0.0'}) |
5 |
11 |
6 server.use(restify.acceptParser(server.acceptable)) |
12 server.use(restify.acceptParser(server.acceptable)) |
7 server.use(restify.queryParser()) |
13 server.use(restify.queryParser()) |
8 server.use(restify.bodyParser()) |
14 server.use(restify.bodyParser()) |
9 |
15 |
10 server.get('/snmpget/:host/:oid', (req, res, next) -> |
16 server.get('/snmpget/:host/:oid', (req, res, next) -> |
|
17 log.debug { route: 'snmpget-single', action: 'request', host: req.params.host, oid: req.params.oid } |
11 opts = |
18 opts = |
12 host: req.params.host |
19 host: req.params.host |
13 oids: [ req.params.oid ] |
20 oids: [ req.params.oid ] |
14 opts.community = req.params.community ? "public" |
21 opts.community = req.params.community ? "public" |
15 snmpget(opts, (r) -> res.send r) |
22 snmpget(opts, (r) -> |
16 return next() |
23 log.debug { route: 'snmpget-single', action: 'response', host: req.params.host, oid: req.params.oid } |
|
24 res.send r |
|
25 log.debug { route: 'snmpget-single', action: 'next-call', host: req.params.host, oid: req.params.oid } |
|
26 next() |
|
27 ) |
17 ) |
28 ) |
18 |
29 |
19 server.post('/snmpget/:host', (req, res, next) -> |
30 server.post('/snmpget/:host', (req, res, next) -> |
|
31 log.debug { route: 'snmpget', action: 'request', host: req.params.host, oidsCount: req.params.oids.length } |
20 opts = |
32 opts = |
21 host: req.params.host |
33 host: req.params.host |
22 oids: req.params.oids |
34 oids: req.params.oids |
23 opts.community = req.params.community ? "public" |
35 opts.community = req.params.community ? "public" |
24 snmpget(opts, (r) -> res.send r) |
36 snmpget(opts, (r) -> |
25 return next() |
37 log.debug { route: 'snmpget', action: 'response', host: req.params.host } |
|
38 res.send r |
|
39 log.debug { route: 'snmpget', action: 'next-call', host: req.params.host } |
|
40 next() |
|
41 ) |
26 ) |
42 ) |
27 |
43 |
28 server.listen(8080, () -> |
44 server.listen(8080, () -> |
29 console.log('%s listening at %s', server.name, server.url)) |
45 log.info('%s listening at %s', server.name, server.url)) |