2
0
mirror of https://github.com/tenrok/axios.git synced 2026-06-11 18:02:32 +03:00

Adding SSL support for node.js - #12

This commit is contained in:
mzabriskie
2014-09-21 16:18:08 -06:00
parent c0201fd419
commit 94b2352438
+8 -1
View File
@@ -3,7 +3,9 @@ var defaults = require('./../defaults');
var transformData = require('./../transformData');
var utils = require('./../utils');
var http = require('http');
var https = require('https');
var url = require('url');
var pkg = require('./../../package.json');
var Buffer = require('buffer').Buffer;
module.exports = function httpAdapter(resolve, reject, config) {
@@ -21,6 +23,9 @@ module.exports = function httpAdapter(resolve, reject, config) {
config.headers || {}
);
// Set User-Agent (required by some servers)
headers['User-Agent'] = 'node-axios/' + pkg.version;
if (data) {
if (utils.isArrayBuffer(data)) {
data = new Buffer(new Uint8Array(data));
@@ -29,6 +34,7 @@ module.exports = function httpAdapter(resolve, reject, config) {
} else {
return reject(new Error('Data after transformation must be a string or an ArrayBuffer'));
}
// Add Content-Length header if data exists
headers['Content-Length'] = data.length;
}
@@ -44,7 +50,8 @@ module.exports = function httpAdapter(resolve, reject, config) {
};
// Create the request
var req = http.request(options, function (res) {
var transport = parsed.protocol === 'https:' ? https : http;
var req = transport.request(options, function (res) {
var responseText = '';
res.on('data', function (chunk) {
responseText += chunk;