UNPKG

1.93 kBJavaScriptView Raw
1// Copyright 2011 Mark Cavage, Inc. All rights reserved.
2
3var Logger = require('bunyan');
4
5var client = require('./client');
6var Attribute = require('./attribute');
7var Change = require('./change');
8var Protocol = require('./protocol');
9var Server = require('./server');
10
11var assert = require('assert');
12var controls = require('./controls');
13var persistentSearch = require('./persistent_search');
14var dn = require('./dn');
15var errors = require('./errors');
16var filters = require('./filters');
17var messages = require('./messages');
18var url = require('./url');
19
20
21///--- API
22
23module.exports = {
24 Client: client.Client,
25 createClient: client.createClient,
26
27 Server: Server,
28 createServer: function (options) {
29 if (options === undefined)
30 options = {};
31
32 if (typeof (options) !== 'object')
33 throw new TypeError('options (object) required');
34
35 if (!options.log) {
36 options.log = new Logger({
37 name: 'ldapjs',
38 component: 'client',
39 stream: process.stderr
40 });
41 }
42
43 return new Server(options);
44 },
45
46 Attribute: Attribute,
47 Change: Change,
48
49 dn: dn,
50 DN: dn.DN,
51 RDN: dn.RDN,
52 parseDN: dn.parse,
53
54 persistentSearch: persistentSearch,
55 PersistentSearchCache: persistentSearch.PersistentSearchCache,
56
57 filters: filters,
58 parseFilter: filters.parseString,
59
60 url: url,
61 parseURL: url.parse
62};
63
64
65///--- Export all the childrenz
66
67var k;
68
69for (k in Protocol) {
70 if (Protocol.hasOwnProperty(k))
71 module.exports[k] = Protocol[k];
72}
73
74for (k in messages) {
75 if (messages.hasOwnProperty(k))
76 module.exports[k] = messages[k];
77}
78
79for (k in controls) {
80 if (controls.hasOwnProperty(k))
81 module.exports[k] = controls[k];
82}
83
84for (k in filters) {
85 if (filters.hasOwnProperty(k)) {
86 if (k !== 'parse' && k !== 'parseString')
87 module.exports[k] = filters[k];
88 }
89}
90
91for (k in errors) {
92 if (errors.hasOwnProperty(k)) {
93 module.exports[k] = errors[k];
94 }
95}