[ruby-on-rails] Qu'est-ce que "WARN ne peut pas déterminer la longueur du contenu du corps de la réponse" signifie et comment m'en débarrasser?



Answers

Le patch suivant a résolu le problème dans mon cas; plus d'avertissements pour moi.

204_304_keep_alive.patch

Il suffit de modifier le fichier httpresponse.rb à la ligne 205 comme indiqué sur le lien ci-dessus; en fait le lien montre une correction faite à une prochaine version de Ruby.

J'utilise les rails 3.2.0 sur ruby ​​1.9.3-p0 installé par RVM en tant qu'utilisateur unique. Donc, l'emplacement dans mon cas est:

~/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/webrick/httpresponse.rb

L'emplacement du fichier à modifier diffère selon le type d'installation, RVM ou non, ou même multi-utilisateur ou mono-utilisateur, donc je ne fais que donner la dernière partie:

.../ruby-1.9.3-p0/lib/ruby/1.9.1/webrick/httpresponse.rb

J'espère que cela peut être utile à quelqu'un.

EDIT: C'est le link vers le commit qui a modifié la ligne en question dans la branche trunk du projet ruby.

Question

Depuis la mise à niveau vers Rails 3.1, ce message d'avertissement apparaît dans mon journal de développement:

WARN Impossible de déterminer la longueur du contenu du corps de la réponse. Définir la longueur du contenu de la réponse ou définir la Response#chunked = true

Qu'est-ce que cela signifie et comment puis-je l'enlever? C'est un problème?




Vous pouvez également utiliser Thin au lieu de Webrick par défaut. Ajoutez ceci à Gemfile gem 'thin'

alors les rails s thin utiliseront mince, et l'avertissement disparaîtra.




Une autre solution de contournement qui supprime la ligne incriminée de webrick. Ce n'est pas si utile:

cd `which ruby`/../../lib/ruby/1.9.1/webrick/ && sed -i '.bak' -e'/logger.warn/d' httpresponse.rb

(vous devrez peut-être sudo )




Ce problème a été corrigé dans la branche Trunk de Ruby avec cette link de webrick.

Vous pouvez modifier ce fichier webrick particulier de la même manière dans votre configuration. L'emplacement approximatif peut être trouvé par:

gem which webrick

Pour éditer le fichier:

nano \`ruby -e"print %x{gem which webrick}.chomp %Q{.rb\n}"\`/httpresponse.rb

(Ou à la place de nano, utilisez votre éditeur préféré.)




Related