LDAP Client and Server API for node.js
Go to file
Robert Kawecki 5204bb7ac0 Implement queueing events until a listener appears
This resolves an issue arising from using both a callback and an EventEmitter
together in the Client.search() API. Since the emitter would only be available
through the callback, some events could be emitted before the callback
is triggered, resulting in missed events.

This change incorporates a test case originally by László Szűcs (@ifroz).

For GH-602
2020-05-12 16:51:28 +02:00
.github/workflows Update image reference 2019-12-07 09:48:41 -05:00
docs Add server.getConnections (fix #415) 2020-02-19 20:02:57 +01:00
examples Apply standard linting to the code base (#539) 2019-08-27 17:11:49 -04:00
lib Implement queueing events until a listener appears 2020-05-12 16:51:28 +02:00
test Implement queueing events until a listener appears 2020-05-12 16:51:28 +02:00
test-integration/client Add integration test for issue #582 2019-12-07 10:33:02 -05:00
.gitignore Convert tests back to node-tap 2019-08-27 09:11:52 -04:00
.npmignore Release v1.0.2 2018-01-11 18:38:32 +00:00
.taprc Disable useless tap features 2019-12-07 09:54:29 -05:00
CHANGES.md Release v1.0.2 2018-01-11 18:38:32 +00:00
LICENSE Touch up package.json, license, readme 2019-08-27 17:22:26 -04:00
README.md Fix coveralls badge 2019-09-15 09:31:18 -04:00
docker-compose.yml Update image reference 2019-12-07 09:48:41 -05:00
package.json v2.0.0-pre.5 2019-12-15 08:31:22 -05:00

README.md

LDAPjs

[Build Status] [Coverage Status]

LDAPjs makes the LDAP protocol a first class citizen in Node.js.

Usage

For full docs, head on over to http://ldapjs.org.

var ldap = require('ldapjs');

var server = ldap.createServer();

server.search('dc=example', function(req, res, next) {
  var obj = {
    dn: req.dn.toString(),
    attributes: {
      objectclass: ['organization', 'top'],
      o: 'example'
    }
  };

  if (req.filter.matches(obj.attributes))
  res.send(obj);

  res.end();
});

server.listen(1389, function() {
  console.log('ldapjs listening at ' + server.url);
});

To run that, assuming you've got the OpenLDAP client on your system:

ldapsearch -H ldap://localhost:1389 -x -b dc=example objectclass=*

Installation

npm install ldapjs

DTrace support is included in ldapjs. To enable it, npm install dtrace-provider.

License

MIT.

Bugs

See https://github.com/ldapjs/node-ldapjs/issues.