Move server getters/setters to prototype
This commit is contained in:
parent
954231d358
commit
e8607819e2
|
@ -491,38 +491,53 @@ function Server(options) {
|
||||||
this.server.on('error', function (err) {
|
this.server.on('error', function (err) {
|
||||||
self.emit('error', err);
|
self.emit('error', err);
|
||||||
});
|
});
|
||||||
|
|
||||||
this.__defineGetter__('maxConnections', function () {
|
|
||||||
return self.server.maxConnections;
|
|
||||||
});
|
|
||||||
this.__defineSetter__('maxConnections', function (val) {
|
|
||||||
self.server.maxConnections = val;
|
|
||||||
});
|
|
||||||
this.__defineGetter__('connections', function () {
|
|
||||||
return self.server.connections;
|
|
||||||
});
|
|
||||||
this.__defineGetter__('name', function () {
|
|
||||||
return 'LDAPServer';
|
|
||||||
});
|
|
||||||
this.__defineGetter__('url', function () {
|
|
||||||
var str;
|
|
||||||
if (!this.server.address().family) {
|
|
||||||
str = 'ldapi://';
|
|
||||||
str += this.host.replace(new RegExp('/', 'g'), '%2f');
|
|
||||||
return str;
|
|
||||||
}
|
|
||||||
if (this.server instanceof tls.Server) {
|
|
||||||
str = 'ldaps://';
|
|
||||||
} else {
|
|
||||||
str = 'ldap://';
|
|
||||||
}
|
|
||||||
str += self.host || 'localhost';
|
|
||||||
str += ':';
|
|
||||||
str += self.port || 389;
|
|
||||||
return str;
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
util.inherits(Server, EventEmitter);
|
util.inherits(Server, EventEmitter);
|
||||||
|
Object.defineProperties(Server.prototype, {
|
||||||
|
maxConnections: {
|
||||||
|
get: function getMaxConnections() {
|
||||||
|
return this.server.maxConnections;
|
||||||
|
},
|
||||||
|
set: function setMaxConnections(val) {
|
||||||
|
this.server.maxConnections = val;
|
||||||
|
},
|
||||||
|
configurable: false
|
||||||
|
},
|
||||||
|
connections: {
|
||||||
|
get: function getConnections() {
|
||||||
|
return this.server.connections;
|
||||||
|
},
|
||||||
|
configurable: false
|
||||||
|
},
|
||||||
|
name: {
|
||||||
|
get: function getName() {
|
||||||
|
return 'LDAPServer';
|
||||||
|
},
|
||||||
|
configurable: false
|
||||||
|
},
|
||||||
|
url: {
|
||||||
|
get: function getURL() {
|
||||||
|
var str;
|
||||||
|
var addr = this.server.address();
|
||||||
|
if (!addr) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
if (!addr.family) {
|
||||||
|
str = 'ldapi://';
|
||||||
|
str += this.host.replace(new RegExp('/', 'g'), '%2f');
|
||||||
|
return str;
|
||||||
|
}
|
||||||
|
if (this.server instanceof tls.Server) {
|
||||||
|
str = 'ldaps://';
|
||||||
|
} else {
|
||||||
|
str = 'ldap://';
|
||||||
|
}
|
||||||
|
str += this.host + ':' + this.port;
|
||||||
|
return str;
|
||||||
|
},
|
||||||
|
configurable: false
|
||||||
|
}
|
||||||
|
});
|
||||||
module.exports = Server;
|
module.exports = Server;
|
||||||
|
|
||||||
|
|
||||||
|
@ -705,7 +720,7 @@ Server.prototype.listen = function (port, host, callback) {
|
||||||
}
|
}
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
function _callback() {
|
function cbListen() {
|
||||||
if (typeof (port) === 'number') {
|
if (typeof (port) === 'number') {
|
||||||
self.host = self.address().address;
|
self.host = self.address().address;
|
||||||
self.port = self.address().port;
|
self.port = self.address().port;
|
||||||
|
@ -719,9 +734,9 @@ Server.prototype.listen = function (port, host, callback) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (typeof (port) === 'number') {
|
if (typeof (port) === 'number') {
|
||||||
return this.server.listen(port, host, _callback);
|
return this.server.listen(port, host, cbListen);
|
||||||
} else {
|
} else {
|
||||||
return this.server.listen(port, _callback);
|
return this.server.listen(port, cbListen);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
Server.prototype.listenFD = function (fd) {
|
Server.prototype.listenFD = function (fd) {
|
||||||
|
|
|
@ -45,12 +45,30 @@ test('basic create', function (t) {
|
||||||
t.end();
|
t.end();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test('properties', function (t) {
|
||||||
|
t.equal(server.name, 'LDAPServer');
|
||||||
|
|
||||||
|
// TODO: better test
|
||||||
|
server.maxConnections = 10;
|
||||||
|
t.equal(server.maxConnections, 10);
|
||||||
|
|
||||||
|
t.equal(server.url, null, 'url empty before bind');
|
||||||
|
// listen on a random port so we have a url
|
||||||
|
server.listen(0, 'localhost', function () {
|
||||||
|
t.ok(server.url);
|
||||||
|
|
||||||
|
server.close();
|
||||||
|
t.end();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
test('listen on unix/named socket', function (t) {
|
test('listen on unix/named socket', function (t) {
|
||||||
t.plan(1);
|
t.plan(2);
|
||||||
server = ldap.createServer();
|
server = ldap.createServer();
|
||||||
sock = getSock();
|
sock = getSock();
|
||||||
server.listen(sock, function () {
|
server.listen(sock, function () {
|
||||||
t.ok(true);
|
t.ok(server.url);
|
||||||
|
t.equal(server.url.split(':')[0], 'ldapi');
|
||||||
server.close();
|
server.close();
|
||||||
t.end();
|
t.end();
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue