diff --git a/node_modules/api.js b/node_modules/api.js index a83887eb..8bcf2ce0 100644 --- a/node_modules/api.js +++ b/node_modules/api.js @@ -20,7 +20,8 @@ function log(o) { // timeout 0无限等待, 60,000 1分钟 needle.defaults({ - timeout: 60000 + timeout: 60000, + rejectUnauthorized: false }); // 远程数据服务 @@ -77,6 +78,18 @@ var Api = { }, getUrl: function(url, param) { var url = Evt.leanoteUrl + '/api/' + url; + // leanote ssl不能非法 + if (url.indexOf('https://leanote.com') == 0) { + needle.defaults({ + timeout: 60000, + rejectUnauthorized: true + }); + } else { + needle.defaults({ + timeout: 60000, + rejectUnauthorized: false + }); + } var token = User.getToken(); param = param || {}; param.token = token; diff --git a/node_modules/needle/lib/needle.js b/node_modules/needle/lib/needle.js index 7ca51fd5..b926028d 100644 --- a/node_modules/needle/lib/needle.js +++ b/node_modules/needle/lib/needle.js @@ -91,13 +91,21 @@ var Needle = { // if any of node's TLS options are passed, let them be passed to https.request() node_tls_opts.split(' ').forEach(function(key) { + // life + if (typeof defaults[key] != 'undefined') { + config.base_opts[key] = defaults[key]; + } + if (typeof options[key] != 'undefined') { config.base_opts[key] = options[key]; if (typeof options.agent == 'undefined') config.base_opts.agent = false; // otherwise tls options are skipped } + }); + // console.log(defaults, config); + config.headers = { 'Accept' : options.accept || defaults.accept, 'Connection' : options.connection || defaults.connection, @@ -408,8 +416,9 @@ exports.version = version; exports.defaults = function(obj) { for (var key in obj) { - if (defaults[key] && typeof obj[key] != 'undefined') + if (typeof obj[key] != 'undefined') { defaults[key] = obj[key]; + } } return defaults; }