requestCert: self.requestCert,
rejectUnauthorized: self.rejectUnauthorized,
NPNProtocols: self.NPNProtocols,
- SNICallback: self.SNICallback
+ SNICallback: options.SNICallback || SNICallback
});
function listener() {
}
if (secureOptions) this.secureOptions = secureOptions;
if (options.NPNProtocols) tls.convertNPNProtocols(options.NPNProtocols, this);
- if (options.SNICallback) {
- this.SNICallback = options.SNICallback;
- } else {
- this.SNICallback = this.SNICallback.bind(this);
- }
if (options.sessionIdContext) {
this.sessionIdContext = options.sessionIdContext;
} else if (this.requestCert) {
function SNICallback(servername, callback) {
var ctx;
- this._contexts.some(function(elem) {
+ this.server._contexts.some(function(elem) {
if (!util.isNull(servername.match(elem[0]))) {
ctx = elem[1];
return true;
callback(null, ctx);
}
-Server.prototype.SNICallback = SNICallback;
-
// Target API:
//