New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

dozer

Package Overview
Dependencies
Maintainers
1
Versions
14
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

dozer - npm Package Compare versions

Comparing version 1.0.0-beta to 1.0.0

lib/auth.js

5

example.config.json
{
"db": {
"uri": "mongodb://localhost:27017/test"
},
"apiKeys": [
"change-this-to-something-better"
]
}
}

@@ -17,4 +17,5 @@ var restify = require('restify');

});
if (options.apiKey) {
jsonClient.basicAuth(options.apiKey, '');
if (options.auth) {
var auth = options.auth.split(':');
jsonClient.basicAuth(auth[0], auth[1]);
}

@@ -21,0 +22,0 @@ return jsonClient;

@@ -25,2 +25,3 @@ var restify = require('restify');

res.json({ count: count });
return next();
});

@@ -33,2 +34,3 @@ } else if (doFindOne) {

res.json(doc);
return next();
});

@@ -41,2 +43,3 @@ } else {

res.json(docs);
return next();
});

@@ -61,2 +64,3 @@ }

res.json(r);
return next();
});

@@ -72,2 +76,3 @@ } else {

res.json(r);
return next();
});

@@ -91,2 +96,3 @@ }

res.json(r);
return next();
});

@@ -98,2 +104,3 @@ } else {

res.json(r);
return next();
});

@@ -117,2 +124,3 @@ }

res.json(r);
return next();
});

@@ -124,2 +132,3 @@ } else {

res.json(r);
return next();
});

@@ -126,0 +135,0 @@ }

24

lib/config.js

@@ -34,8 +34,24 @@ var convict = require('convict');

etags: {
doc: 'Enable auto generation on _etag property of docs',
doc: 'Enable auto generation of _etag property of docs',
default: true
},
apiKeys: {
doc: 'Array of valid API keys to access the API',
default: []
auth: {
enabled: {
doc: 'Enable API key authentication',
default: false
},
allowLocal: {
doc: 'Allow local connections without authentication',
default: true
},
apiKeys: {
doc: 'Map of api keys and secrets',
default: {}
}
},
memoize: {
maxAge: {
doc: 'Set period, in milliseconds, to clear cached result',
default: 0
}
}

@@ -42,0 +58,0 @@ });

@@ -18,2 +18,3 @@ var restify = require('restify');

res.json(doc);
return next();
});

@@ -32,2 +33,3 @@ }

res.json(r);
return next();
});

@@ -45,2 +47,3 @@ };

res.json(r);
return next();
});

@@ -47,0 +50,0 @@ };

var restify = require('restify');
var bunyan = require('bunyan');
var q = require('q');
var debug = require('debug')('dozer:server');
var config = require('./config');
var auth = require('./auth');
var collections = require('./collections');

@@ -29,46 +31,40 @@ var collection = require('./collection');

server.use(function (req, res, next) {
var apiKeys = config.get('apiKeys');
var remoteAddr = req.socket.remoteAddress;
if (remoteAddr !== '127.0.0.1' && remoteAddr !== '::' && apiKeys.indexOf(req.username) === -1) {
debug('authentication failed for user %s', req.username);
return next(new restify.UnauthorizedError('Unauthorized'));
}
debug('authentication passed for user %s@%s', req.username, remoteAddr);
return next();
});
server.on('after', restify.auditLogger({
log: bunyan.createLogger({
name: 'audit',
stream: process.stdout
})
}));
server.start = function (options, cb) {
server.start = function (options) {
debug('starting server');
config.load(options);
config.validate({strict: true});
MongoClient.connect(config.get('db.uri'), function (err, db) {
if (err) { return cb(err); }
server.db = db;
debug('connected to database %s', db.databaseName);
server.get('/db/collections', collections.get(db));
server.get('/db/:collection', collection.get(db));
server.post('/db/:collection', collection.post(db));
server.put('/db/:collection', collection.put(db));
server.del('/db/:collection', collection.del(db));
server.get('/db/:collection/:id', document.get(db));
server.put('/db/:collection/:id', document.put(db));
server.del('/db/:collection/:id', document.del(db));
if (config.get('auth.enabled')) {
server.use(auth());
}
server.listen(
config.get('server.port'),
config.get('server.host'),
function () {
debug('%s listening at %s', server.name, server.url);
}
);
});
return MongoClient.connect(config.get('db.uri'))
.then(function (db) {
server.db = db;
debug('connected to database %s', db.databaseName);
server.get('/db/collections', collections.get(db));
server.get('/db/:collection', collection.get(db));
server.post('/db/:collection', collection.post(db));
server.put('/db/:collection', collection.put(db));
server.del('/db/:collection', collection.del(db));
server.get('/db/:collection/:id', document.get(db));
server.put('/db/:collection/:id', document.put(db));
server.del('/db/:collection/:id', document.del(db));
server.on('after', restify.auditLogger({
log: bunyan.createLogger({
name: 'audit',
stream: process.stdout
})
}));
server.listen(
config.get('server.port'),
config.get('server.host'),
function () {
debug('%s listening at %s', server.name, server.url);
}
);
});
};

@@ -78,2 +74,3 @@

debug('stopping server');
server.authDb.close();
server.db.close();

@@ -80,0 +77,0 @@ server.close();

{
"name": "dozer",
"version": "1.0.0-beta",
"version": "1.0.0",
"description": "Rest API interface for MongoDB (client and server)",

@@ -12,3 +12,8 @@ "bin": "bin/dozer",

"keywords": [
"mongo", "mongodb", "rest", "client", "server", "api"
"mongo",
"mongodb",
"rest",
"client",
"server",
"api"
],

@@ -24,2 +29,4 @@ "dependencies": {

"mongodb": "^2.0.40",
"node-cache": "^3.0.0",
"node-uuid": "^1.4.3",
"object-assign": "^3.0.0",

@@ -26,0 +33,0 @@ "prettyjson": "^1.1.3",

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc