Demian Brecht added the comment:

My apologies for the delay, but I've now reviewed the proposed patch. With a 
fresh outlook after taking a bit of time off, I'm not sure anymore that this is 
the best way of going about solving this problem. The main reason being that we 
now have two errors that effectively mean the same thing: The remote socket has 
encountered some error condition.

I understand that ConnectionClosed was added to maintain backwards 
compatibility with the BadStatusLine error, but I'm beginning to think that 
what really should be done is that backwards compatibility /should/ be broken 
as (in my mind) it's one of those cases where the backwards compatible solution 
may introduce just as many issues as it solves.

The root issue here (or at least what it has turned into) is that BadStatusLine 
is incorrectly raised when EOF is encountered when reading the status line. In 
light of that, I think that simply raising a ConnectionError in _read_status 
where line is None is the right way to fix this issue. Not only is it 
consistent with other cases where the remote socket is closed (i.e. when 
reading the response body), but it's removing the need for the addition of a 
potentially confusing exception.

I'm not 100% what the policy is around backwards introducing backwards 
incompatible changes is, but I really think that this is one of those few cases 
where it really should be broken.

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue3566>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to