2011-10-18 2 views
0

J'utilise l'uploader de knox amazon comme "proxy" pour télécharger un fichier découpé de Javascript. Mais le aperçoive that've chose est que parfois (malheureusement parfois si je ne peux pas identifier l'erreur exactement) lorsque le response.statusCode n'est pas 200 le NodeJS tombe en panne à une exception:Nodejs Téléchargement Amazon en utilisant l'écrasement de Knox à l'erreur d'assertion

assert.js:93 throw new assert.AssertionError({

AssertionError: true == false at IncomingMessage.
(http.js:1341:9) at IncomingMessage.emit (events.js:61:17) at
HTTPParser.onMessageComplete (http.js:133:23) at Socket.ondata
(http.js:1231:22) at Socket._onReadable (net.js:683:27) at
IOWatcher.onReadable [as callback] (net.js:177:10)

Est-ce que quelqu'un sait pourquoi cela se produit ? Existe-t-il un moyen d'attraper cette exception en évitant le crash du serveur?

est ici un code si cela aide:

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(); 
+0

Avant l'erreur réelle, il me donne cette réponse: {code: « RequestTimeout », Message: « Votre connexion socket au serveur n'a pas été lu ou écrit dans le délai imparti. Les connexions inactives seront fermées », RequestId: '97007DD8BAD530BB', HostId: 'Bl9b9ggKKdnF0bBief0i + 1cNAT9eIQhObe2nMFYUqOktN3HlZ9lzs1izwAQxg50Y'} –

Répondre

0

Cela semble être un bogue dans Node.js < v0.5 où Socket.destroySoon() ne ferme pas la prise tout de suite.

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

+0

Je viens de voir votre réponse, désolé d'être un peu en retard = p. Mettre à niveau le nodeJS vers la version stable actuelle 0.6.7 semble résoudre le problème. Merci! –

Questions connexes