Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
}
// Execute command
_server.command(_ns, _command, function(err, r) {
// Destroy the connection
_server.destroy();
// Return an error
if (err && options.ignoreError) return resolve({ ok: 1 });
if (err) return reject(err);
// Return the ismaster command
resolve(r.result);
});
});
};
// Create an instance
var s = new CoreServer(opt);
s.on('error', function(err) {
if (options.ignoreError) return resolve({ ok: 1 });
if (options.reExecuteOnError) {
options.reExecuteOnError = false;
return executeCommand(ns, command, credentials, s);
}
reject(err);
});
s.on('close', function(err) {
if (options.ignoreError) return resolve({ ok: 1 });
if (options.reExecuteOnError) {
options.reExecuteOnError = false;
return executeCommand(ns, command, credentials, s);
// Execute command
_server.command(_ns, _command, function(err, r) {
// Destroy the connection
_server.destroy();
// Return an error
if (err && options.ignoreError) return resolve({ ok: 1 });
if (err) return reject(err);
// Return the ismaster command
resolve(r.result);
});
});
};
// Create an instance
var s = new CoreServer(opt);
s.on('error', function(err) {
if (options.ignoreError) return resolve({ ok: 1 });
if (options.reExecuteOnError) {
options.reExecuteOnError = false;
return executeCommand(ns, command, credentials, s);
}
reject(err);
});
s.on('close', function(err) {
if (options.ignoreError) return resolve({ ok: 1 });
if (options.reExecuteOnError) {
options.reExecuteOnError = false;
return executeCommand(ns, command, credentials, s);
case 0:
// Copy the basic options
opt = clone(self.clientOptions);
opt.host = self.options.bind_ip;
opt.port = self.options.port;
opt.connectionTimeout = 5000;
opt.socketTimeout = 5000;
opt.pool = 1;
// Ensure we only connect once and emit any error caught
opt.reconnect = false;
opt.emitError = true;
// Create an instance
s = new CoreServer(opt);
// Add listeners
s.on('error', function (err) {
reject(err);
});
s.on('timeout', function (err) {
reject(err);
});
s.on('connect', function (_server) {
_server.command('system.$cmd', {
ismaster: true
}, function (err, r) {
// Destroy the connection
_server.destroy();
name: name,
architecture: architecture,
version: release
},
platform: nodejsversion
}
// Build default client information
clonedOptions.clientInfo = this.clientInfo;
// Do we have an application specific string
if(options.appname) {
clonedOptions.clientInfo.application = { name: options.appname };
}
// Create an instance of a server instance from mongodb-core
var server = new CServer(clonedOptions);
// Server capabilities
var sCapabilities = null;
// Define the internal properties
this.s = {
// Create an instance of a server instance from mongodb-core
server: server
// Server capabilities
, sCapabilities: null
// Cloned options
, clonedOptions: clonedOptions
// Reconnect
, reconnect: clonedOptions.reconnect
// Emit error
, emitError: clonedOptions.emitError
// Pool size
case 0:
// Copy the basic options
opt = clone(self.clientOptions);
opt.host = self.options.bind_ip;
opt.port = self.options.port;
opt.connectionTimeout = 5000;
opt.socketTimeout = 5000;
opt.pool = 1;
// Ensure we only connect once and emit any error caught
opt.reconnect = false;
opt.emitError = true;
// Create an instance
s = new CoreServer(opt);
s.on('error', function (err) {
reject(err);
});
s.on('close', function (err) {
reject(err);
});
s.on('timeout', function (err) {
reject(err);
});
s.on('connect', function (_server) {
// Do we have credentials
var authenticate = function authenticate(_server, _credentials, _callback) {
return new Promise(function(resolve, reject) {
// Create options for command from client options
var opt = createCommandOptions(self, options);
// Create an instance
var s = new CoreServer(opt);
// Add listeners
s.on('error', function(err) {
reject(err);
});
s.on('timeout', function(err) {
reject(err);
});
s.on('connect', function(_server) {
_server.command(
'system.$cmd',
{
ismaster: true
},
function(err, r) {
name: name,
architecture: architecture,
version: release
},
platform: nodejsversion
}
// Build default client information
clonedOptions.clientInfo = this.clientInfo;
// Do we have an application specific string
if(options.appname) {
clonedOptions.clientInfo.application = { name: options.appname };
}
// Create an instance of a server instance from mongodb-core
var server = new CServer(clonedOptions);
// Define the internal properties
this.s = {
// Create an instance of a server instance from mongodb-core
server: server
// Server capabilities
, sCapabilities: null
// Cloned options
, clonedOptions: clonedOptions
// Reconnect
, reconnect: clonedOptions.reconnect
// Emit error
, emitError: clonedOptions.emitError
// Pool size
, poolSize: clonedOptions.size
// Store Options
return new Promise((resolve, reject) => {
const server = new mongodb.Server(parse(url))
server.on('connect', () => {
resolve(server)
})
server.connect()
})
}
new Promise((resolve, reject) => {
let server = new Server({
host,
port,
})
server.on('error', e => reject(e))
server.on('connect', connection => {
connection.command('system.$cmd', { ping: 1 }, (e, result) => {
connection.destroy()
if (e) {
reject(e)
} else {
if (result.result.ok === 1) {
resolve()
} else {
reject(new Error('MongoDB Is Not OK'))
}
}