Nodejs Amazon Upload, использующий сбой Knox при ошибке подтверждения - PullRequest
0 голосов
/ 19 октября 2011

Я использую загрузчик knox amazon в качестве «прокси» для загрузки нарезанного файла из Javascript. Но кое-что, что было замечено, это то, что иногда (к сожалению, иногда я не могу точно определить ошибку), когда response.statusCode не 200, узел JS вылетает при исключении:

assert.js: 93 выбросить новую ошибку assert.AssertionError ({

AssertionError: true == false при входящем сообщении.
(http.js: 1341: 9) на IncomingMessage.emit (events.js: 61: 17) на
HTTPParser.onMessageComplete (http.js: 133: 23) в Socket.ondata
(http.js: 1231: 22) в Socket._onReadable (net.js: 683: 27) в
IOWatcher.onReadable [как обратный вызов] (net.js: 177: 10)

Кто-нибудь знает, почему это происходит? Есть ли способ перехватить это исключение, избегая сбоя сервера?

Вот некоторый код, если он помогает:

var request = client.request('PUT', '/' + params.fileName + '?partNumber=' +       params.partNumber + '&uploadId=' + params.uploadId, {
    'Content-Length': req.headers['content-length']
});

req.on('data', function(data){
    request.write(data, 'binary');
});
request.on('response', function(response) {
    if (response.statusCode== 200) { 
        console.log('Part '+ params.partNumber + ' inserted with etag: '+    response.headers.etag);
}
}).end();

1 Ответ

0 голосов
/ 20 декабря 2011

Это похоже на ошибку в node.js Socket.destroySoon() не закрывает сокет сразу.

https://github.com/joyent/node/issues/1892

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...