OpenSSL NPN in node.js

closes #926.
This commit is contained in:
Fedor Indutny
2011-04-14 10:53:39 +07:00
committed by Ryan Dahl
parent 9e6498d5fa
commit c9b40da368
6 changed files with 324 additions and 4 deletions

View File

@@ -23,9 +23,15 @@ var tls = require('tls');
var http = require('http');
var inherits = require('util').inherits;
var NPN_ENABLED = process.binding('constants').NPN_ENABLED;
function Server(opts, requestListener) {
if (!(this instanceof Server)) return new Server(opts, requestListener);
if (NPN_ENABLED && !opts.NPNProtocols) {
opts.NPNProtocols = ['http/1.1', 'http/1.0'];
}
tls.Server.call(this, opts, http._connectionListener);
this.httpAllowHalfOpen = false;
@@ -58,6 +64,10 @@ Agent.prototype.defaultPort = 443;
Agent.prototype._getConnection = function(host, port, cb) {
if (NPN_ENABLED && !this.options.NPNProtocols) {
this.options.NPNProtocols = ['http/1.1', 'http/1.0'];
}
var s = tls.connect(port, host, this.options, function() {
// do other checks here?
if (cb) cb();