This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author Rotkraut
Recipients Rotkraut, demian.brecht, harobed, martin.panter, orsenthil, petri.lehtinen, piotr.dobrogost, pitrou, whitemice
Date 2016-06-29.14:14:22
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <>
Here comes a new version of the patch.  I believe, I addressed all review comments made on issue12319_7.patch, with the exception of the EncodingError mentioned in the last post.

Most relevant changes compared to last patch:

 * Do not try to dertermine the content length for text files.
 * Change priority of object types for the body: try file like before byte like.
 * Convert byte like to bytes before feeding the body into the socket.  This fixes Issue 27340, at least as far as http.client is concerned.
 * Split test_http() in one separate test for each body type in
 * Review documentation.

Another question is: what is the best method to test whether a file like is text or binary?  For the moment, I kept the original code that essentially does:

    isText = "b" not in readable.mode
  except AttributeError:
    isText = False

This logic fails for StringIO and possibly others.  Alternatives could be:

  isText = isinstance(readable, io.TextIOBase)

  isText = hasattr(readable, 'encoding')


  isText = isinstance(, str)

What do you guys suggest?
Date User Action Args
2016-06-29 14:14:32Rotkrautsetrecipients: + Rotkraut, orsenthil, pitrou, harobed, petri.lehtinen, martin.panter, piotr.dobrogost, demian.brecht, whitemice
2016-06-29 14:14:31Rotkrautsetmessageid: <>
2016-06-29 14:14:31Rotkrautlinkissue12319 messages
2016-06-29 14:14:31Rotkrautcreate