321 votes

Que signifie « WARN ne pouvait pas déterminer content-length d’organisme d’intervention » moyenne et comment à je me débarrasser de lui ?

Depuis la mise à niveau à Rails 3.1 je vois ce message d’avertissement dans mon journal de développement :

WARN n’a pas pu déterminer le contenu-longueur du corps de réponse. Régler la longueur du contenu de la réponse ou la valeur``

Que-ce que cela signifie et comment puis-je le supprimer ? Est-ce un problème ?

229voto

Luis Lavena Points 8394

Posé la même question à l’un des membres de Rails-Core :

https://Twitter.com/# ! / luislavena/status/108998968859566080

Et la réponse :

https://Twitter.com/# ! / tenderlove/status/108999110136303617

Ouais, c’est très bien. Besoin de la nettoyer, mais rien n’est blessé.

78voto

jasoares Points 1219

Le correctif suivant a résolu le problème dans mon cas, plus de mises en garde pour moi.

204_304_keep_alive.patch

Il suffit d'éditer le fichier httpresponse.rb à la ligne 205 comme indiqué sur le lien ci-dessus; en fait, le lien affiche une correction apportée à une future version de Ruby.

Je suis à l'aide de rails 3.2.0 sur ruby 1.9.3-p0 installé via RVM en tant que simple utilisateur. Ainsi, 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 altéré, diffère selon le type d'installation, RVM ou pas, ou même multi-utilisateur ou à un utilisateur unique, donc je vais juste donner la dernière partie de celui-ci:

.../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 lien pour le commit qui a modifié la ligne en question dans le coffre de la branche de ruby projet.

56voto

ootoovak Points 743

Ajouter juste explicitement le joyau de la Gemfile s’est débarrassé des messages d’avertissement pour moi :

54voto

Cam Song Points 2464

Vous pouvez également utiliser Thin au lieu de la valeur par défaut Webrick. Ajouter ceci à````

alors `` va utiliser mince, et l’avertissement disparaîtra.

15voto

Kjellski Points 571

Si vous êtes en utilisant .rvm, le faire pour le réparer...

Comme mentionné par João Soares, tous les crédits à lui, c'est ce que vous pouvez faire si vous voulez pas vous débarrasser de ce message d'avertissement sur le développement.

  1. Utilisez votre éditeur de texte favori pour ouvrir ce fichier:

    ~/.rvm/rubies/<ruby-version>/lib/ruby/1.9.1/webrick/httpresponse.rb
    
  2. Aller à la ligne qui contient le présent(pour moi c'était vraiment la ligne 206):

    if chunked? || @header['content-length']
    
  3. Changer, prises à partir de ce patch, pour cela:

    if chunked? || @header['content-length'] || @status == 304 || @status == 204
    
  4. Enregistrez le fichier et redémarrez votre serveur rails

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X