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:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user