node-ldapjs/lib/messages/unbind_response.js

66 lines
1.6 KiB
JavaScript
Raw Normal View History

2011-08-04 20:32:01 +00:00
// Copyright 2011 Mark Cavage, Inc. All rights reserved.
2020-10-31 21:07:32 +00:00
const assert = require('assert-plus')
const util = require('util')
2011-08-04 20:32:01 +00:00
2020-10-31 21:07:32 +00:00
const dtrace = require('../dtrace')
2011-11-19 00:39:37 +00:00
2020-10-31 21:07:32 +00:00
const LDAPMessage = require('./result')
// var Protocol = require('../protocol')
2011-08-04 20:32:01 +00:00
/// --- API
2011-08-04 20:32:01 +00:00
// Ok, so there's really no such thing as an unbind 'response', but to make
// the framework not suck, I just made this up, and have it stubbed so it's
// not such a one-off.
function UnbindResponse (options) {
options = options || {}
assert.object(options)
2011-08-04 20:32:01 +00:00
options.protocolOp = 0
LDAPMessage.call(this, options)
2011-08-04 20:32:01 +00:00
}
util.inherits(UnbindResponse, LDAPMessage)
Object.defineProperties(UnbindResponse.prototype, {
type: {
get: function getType () { return 'UnbindResponse' },
configurable: false
}
})
2011-08-04 20:32:01 +00:00
/**
* Special override that just ends the connection, if present.
*
* @param {Number} status completely ignored.
*/
UnbindResponse.prototype.end = function (status) {
assert.ok(this.connection)
2011-08-04 20:32:01 +00:00
this.log.trace('%s: unbinding!', this.connection.ldap.id)
2011-08-04 20:32:01 +00:00
this.connection.end()
2011-11-19 00:39:37 +00:00
2020-10-31 21:07:32 +00:00
const self = this
2011-11-19 00:39:37 +00:00
if (self._dtraceOp && self._dtraceId) {
dtrace.fire('server-' + self._dtraceOp + '-done', function () {
2020-10-31 21:07:32 +00:00
const c = self.connection || { ldap: {} }
2011-11-19 00:39:37 +00:00
return [
self._dtraceId || 0,
(c.remoteAddress || ''),
c.ldap.bindDN ? c.ldap.bindDN.toString() : '',
(self.requestDN ? self.requestDN.toString() : ''),
0,
''
]
})
2011-11-19 00:39:37 +00:00
}
}
2011-08-04 20:32:01 +00:00
UnbindResponse.prototype._json = function (j) {
return j
}
/// --- Exports
module.exports = UnbindResponse