http: remove legacy http library

This commit is contained in:
Ben Noordhuis
2011-10-04 20:51:34 +02:00
parent 976c6b0826
commit bc7cfd7cd7
6 changed files with 421 additions and 2345 deletions

View File

@@ -50,56 +50,32 @@ exports.createServer = function(opts, requestListener) {
// HTTPS agents.
var agents = {};
function createConnection(port, host, options) {
return tls.connect(port, host, options);
};
function Agent(options) {
http.Agent.call(this, options);
}
this.createConnection = createConnection;
};
inherits(Agent, http.Agent);
Agent.prototype.defaultPort = 443;
var globalAgent = new Agent();
Agent.prototype._getConnection = function(options, cb) {
if (process.features.tls_npn && !this.options.NPNProtocols) {
this.options.NPNProtocols = ['http/1.1', 'http/1.0'];
}
var s = tls.connect(options.port, options.host, this.options, function() {
// do other checks here?
if (cb) cb();
});
return s;
};
function getAgent(options) {
if (!options.port) options.port = 443;
var id = options.host + ':' + options.port;
var agent = agents[id];
if (!agent) {
agent = agents[id] = new Agent(options);
}
return agent;
}
exports.getAgent = getAgent;
exports.globalAgent = globalAgent;
exports.Agent = Agent;
exports.request = function(options, cb) {
if (options.agent === undefined) {
options.agent = getAgent(options);
} else if (options.agent === false) {
options.agent = new Agent(options);
options.agent = globalAgent;
}
return http._requestFromAgent(options, cb);
options.createConnection = createConnection;
options.defaultPort = options.defaultPort || 443;
return http.request(options, cb);
};
exports.get = function(options, cb) {
options.method = 'GET';
var req = exports.request(options, cb);