mirror of
https://github.com/leanote/desktop-app.git
synced 2026-01-29 02:07:09 +08:00
needle重连, night主题美化
This commit is contained in:
14
src/node_modules/api.js
generated
vendored
14
src/node_modules/api.js
generated
vendored
@@ -20,7 +20,7 @@ function log(o) {
|
||||
|
||||
// timeout 0无限等待, 60,000 1分钟
|
||||
needle.defaults({
|
||||
timeout: 5*60000
|
||||
timeout: 60000
|
||||
});
|
||||
|
||||
// 远程数据服务
|
||||
@@ -94,7 +94,7 @@ var Api = {
|
||||
// log({emai: email, pwd: pwd});
|
||||
// console.log(this.getUrl('auth/login', {email: email, pwd: pwd}));
|
||||
// console.log('????????????')
|
||||
needle.post(this.getUrl('auth/login'), {email: email, pwd: pwd}, function(error, response) {
|
||||
needle.post(this.getUrl('auth/login'), {email: email, pwd: pwd}, {timeout: 10000}, function(error, response) {
|
||||
me.checkError(error, response);
|
||||
if(error) {
|
||||
return callback && callback(false);
|
||||
@@ -217,7 +217,9 @@ var Api = {
|
||||
getLastSyncState: function(callback) {
|
||||
var me = this;
|
||||
var url = this.getUrl('user/getSyncState');
|
||||
needle.get(url, function(error, response) {
|
||||
console.log(url);
|
||||
needle.get(url, {timeout: 10000}, function(error, response) {
|
||||
// console.log('user/getSyncState ret');
|
||||
me.checkError(error, response);
|
||||
if(error) {
|
||||
return callback && callback(false);
|
||||
@@ -439,7 +441,7 @@ var Api = {
|
||||
var me = this;
|
||||
var data = {notebookId: notebook.ServerNotebookId, usn: notebook.Usn};
|
||||
log('delete notebook');
|
||||
needle.post(me.getUrl('notebook/deleteNotebook'), data, {}, function(err, resp) {
|
||||
needle.post(me.getUrl('notebook/deleteNotebook'), data, {timeout: 10000}, function(err, resp) {
|
||||
me.checkError(err, resp);
|
||||
if(err) {
|
||||
return callback(false);
|
||||
@@ -633,7 +635,7 @@ var Api = {
|
||||
log('delete note');
|
||||
// 这里要重新require下, 不然为{}
|
||||
Note = require('note');
|
||||
needle.post(me.getUrl('note/deleteTrash'), data, {}, function(err, resp) {
|
||||
needle.post(me.getUrl('note/deleteTrash'), data, {timeout: 10000}, function(err, resp) {
|
||||
me.checkError(err, resp);
|
||||
if(err) {
|
||||
return callback(false);
|
||||
@@ -728,7 +730,7 @@ var Api = {
|
||||
// 删除标签
|
||||
deleteTag: function(tag, callback) {
|
||||
var me = this;
|
||||
needle.post(me.getUrl('tag/deleteTag'), {tag: tag.Tag, usn: tag.Usn}, {}, function(err, resp) {
|
||||
needle.post(me.getUrl('tag/deleteTag'), {tag: tag.Tag, usn: tag.Usn}, {timeout: 10000}, function(err, resp) {
|
||||
me.checkError(err, resp);
|
||||
if(err) {
|
||||
return callback && callback(false);
|
||||
|
||||
28
src/node_modules/needle/lib/needle.js
generated
vendored
28
src/node_modules/needle/lib/needle.js
generated
vendored
@@ -21,8 +21,8 @@ var fs = require('fs'),
|
||||
//////////////////////////////////////////
|
||||
|
||||
var version = JSON.parse(fs.readFileSync(__dirname + '/../package.json').toString()).version,
|
||||
debugging = !!process.env.DEBUG,
|
||||
debug = debugging ? console.log : function() { /* noop */ };
|
||||
debugging = !!process.env.DEBUG, // life 开始debug模式
|
||||
debug = debugging ? console : {'log': function() { /* noop */ }};
|
||||
|
||||
var user_agent = 'Needle/' + version;
|
||||
user_agent += ' (Node.js ' + process.version + '; ' + process.platform + ' ' + process.arch + ')';
|
||||
@@ -37,7 +37,7 @@ var decompressors = {};
|
||||
|
||||
try {
|
||||
|
||||
var zlib = require('zlib')
|
||||
var zlib = require('zlib');
|
||||
|
||||
decompressors['x-deflate'] = zlib.Inflate;
|
||||
decompressors['deflate'] = zlib.Inflate;
|
||||
@@ -199,6 +199,7 @@ var Needle = {
|
||||
}
|
||||
},
|
||||
|
||||
// 发送请求
|
||||
send_request: function(count, method, uri, config, post_data, out, callback) {
|
||||
|
||||
var timer,
|
||||
@@ -216,11 +217,11 @@ var Needle = {
|
||||
out.emit('end', err, resp, body);
|
||||
}
|
||||
|
||||
debug('Making request #' + count, request_opts);
|
||||
// console.log('Making request #' + count, request_opts);
|
||||
var request = protocol.request(request_opts, function(resp) {
|
||||
|
||||
// 没有收到
|
||||
var headers = resp.headers;
|
||||
debug('Got response', headers);
|
||||
// console.log('Got response', headers);
|
||||
if (timer) clearTimeout(timer);
|
||||
|
||||
// if redirect code is found, send a GET request to that location if enabled via 'follow' option
|
||||
@@ -348,7 +349,7 @@ var Needle = {
|
||||
}); // end request call
|
||||
|
||||
// unless timeout was disabled, set a timeout to abort the request
|
||||
console.log('needle timeout' + config.timeout);
|
||||
// console.log('needle timeout' + config.timeout);
|
||||
if (config.timeout > 0) {
|
||||
timer = setTimeout(function() {
|
||||
console.error('needle timeout' + config.timeout);
|
||||
@@ -356,10 +357,21 @@ var Needle = {
|
||||
}, config.timeout);
|
||||
}
|
||||
|
||||
// request.abort()会触发error
|
||||
// { [Error: socket hang up] code: 'ECONNRESET' }
|
||||
request.on('error', function(err) {
|
||||
debug('Request error', err);
|
||||
if (timer) clearTimeout(timer);
|
||||
|
||||
// 再重新请求一次
|
||||
if(err && err.code == 'ECONNRESET' && count == 1) {
|
||||
setTimeout(function() {
|
||||
console.log('重连连一次');
|
||||
self.send_request(count+1, method, uri, config, post_data, out, callback);
|
||||
}, Math.random() * 1000);
|
||||
return;
|
||||
}
|
||||
|
||||
console.log('Request error', err);
|
||||
done(err || new Error('Unknown error when making request.'));
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user