Commit Graph

155 Commits

Author SHA1 Message Date
Antoine Pitrou d66c0ee76e Issue #15633: httplib.HTTPResponse is now mark closed when the server sends less than the advertised Content-Length. 2013-02-02 22:49:34 +01:00
Andrew Svetlov 4bb142b1b7 Issue #16714: use 'raise' exceptions, don't 'throw'.
Patch by Serhiy Storchaka.
2012-12-18 21:27:37 +02:00
Antoine Pitrou 4113d2bd36 Issue #16298: In HTTPResponse.read(), close the socket when there is no Content-Length and the incoming stream is finished.
Patch by Eran Rundstein.
2012-12-15 19:11:54 +01:00
Christian Heimes 671138f27d Issue #16037: Limit httplib's _read_status() function to work around broken
HTTP servers and reduce memory usage. It's actually a backport of a Python
3.2 fix. Thanks to Adrien Kunysz.
2012-09-25 13:29:30 +02:00
Senthil Kumaran 618802d55e Fix Issue14721: Send Content-length: 0 for empty body () in the http.request 2012-05-19 16:52:21 +08:00
Senthil Kumaran 0267185088 Fix for Issue13684 - httplib tunnel infinite loop 2012-04-23 23:46:46 +08:00
Éric Araujo 06efea3392 Use raw strings for docstrings with backslashes in ASCII diagrams 2012-02-26 01:33:22 +01:00
Łukasz Langa 7a15390f83 Fixes #10860: Handle empty port after port delimiter in httplib
Thanks, Shawn Ligocki!

3.x version will come as a separate patch.
2011-10-18 17:16:00 +02:00
Senthil Kumaran 41d663f0a5 Issue13073 - Address review comments and add versionchanged information in the docs. 2011-10-05 23:52:49 +08:00
Senthil Kumaran 93e6a3d28f Remove the un-exercised in-module test code. 2011-08-10 21:57:22 +08:00
Ezio Melotti 24b07bcba3 #11515: fix several typos. Patch by Piotr Kasprzyk. 2011-03-15 18:55:01 +02:00
Antoine Pitrou d7b6ac66c1 Merged revisions 87373,87381 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

BaseHTTPServer isn't fixed, this would require too much refactoring.

........
  r87373 | senthil.kumaran | 2010-12-18 17:55:23 +0100 (sam., 18 déc. 2010) | 3 lines

  Fix Issue6791 - Limit the HTTP header readline with _MAXLENGTH. Patch by Antoine Pitrou
........
  r87381 | antoine.pitrou | 2010-12-18 18:59:18 +0100 (sam., 18 déc. 2010) | 3 lines

  NEWS entry for r87373
........
2010-12-18 18:18:21 +00:00
Senthil Kumaran 501bfd8f5c Merged revisions 86450 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r86450 | senthil.kumaran | 2010-11-13 20:27:49 +0800 (Sat, 13 Nov 2010) | 3 lines

  Fix Issue5111 -  Wrap the Ipv6 host with [] in the Host header
........
2010-11-14 03:31:52 +00:00
Senthil Kumaran aa5f49e4c1 Merged revisions 85205 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r85205 | senthil.kumaran | 2010-10-03 23:52:42 +0530 (Sun, 03 Oct 2010) | 3 lines

  Fix Issue10012 - httplib headers, which are (sometimes mistakenly) int are explicitly cast to str (bytes - in py3k).
........
2010-10-03 18:26:07 +00:00
Senthil Kumaran 452b0ce586 Merged revisions 85169 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r85169 | senthil.kumaran | 2010-10-02 16:03:13 +0530 (Sat, 02 Oct 2010) | 3 lines

  Use proper variable name 'data' instead of 'str' in the send method.
........
2010-10-02 10:43:45 +00:00
Senthil Kumaran d389cb5bcf Fix Issue1327971: HTTPResponse should expose a proper fileno attribute 2010-09-21 01:38:15 +00:00
Victor Stinner 2c6aee9096 Forward port r70643 (#5542) + part of r83120 (just remove the comment)
Remove special logic that closes HTTPConnection socket on EPIPE.

If the socket is closed, the client has no chance to read the response
from the server.  EPIPE means that it isn't possible to write more
data from the socket, but not that it is impossible to read.
2010-07-24 02:46:16 +00:00
Senthil Kumaran dfaced5d3d Fix issue6312 - close the resp object for HEAD response. 2010-06-04 16:32:14 +00:00
Senthil Kumaran ed9204346e Fixed Issue6312 - httplib fails with HEAD requests to pages with "transfer-encoding: chunked" 2010-04-28 17:20:43 +00:00
Dirkjan Ochtman ebc73dce57 Issue #7427: improve the representation of httplib.BadStatusLine exceptions. 2010-02-24 04:49:00 +00:00
Gregory P. Smith 9d3252154f issue3972: HTTPConnection and HTTPSConnection now support a
source_address parameter.

Also cleans up an annotation in the socket documentation.
2010-01-03 02:06:07 +00:00
Senthil Kumaran 7713acf201 Fix for issue 7291 - urllib2 cannot handle https with proxy requiring auth
Refactored HTTPHandler tests and added testcase for proxy authorization.
2009-12-20 06:05:13 +00:00
Antoine Pitrou 92331d5e1b Fix py3k warnings in httplib 2009-10-14 19:04:48 +00:00
Antoine Pitrou 7248178cd9 Issue #6790: Make it possible again to pass an `array.array` to
`httplib.HTTPConnection.send`. Patch by Kirk McDonald.
2009-09-29 17:48:18 +00:00
Chris Withers 68c6e92fd4 Fixes issue #6838: use a list to accumulate the value instead of repeatedly concatenating strings. 2009-09-04 16:12:32 +00:00
Gregory P. Smith 77db0165eb comment typo fix 2009-08-20 09:38:43 +00:00
Gregory P. Smith e2ae86a19e Revert the changes from r74463, they were causing test_xmlrpc to fail.
We do not need to force a close when using socket buffering on a
httplib.HTTPRequest as the library does not support streaming requests
so there should never been extra data beyond the end of the current
request to have left over in the requests socket buffer.

see http://bugs.python.org/issue6724
2009-08-19 05:33:48 +00:00
Gregory P. Smith 8cabfa352b Force the http connection to close after any request returned when
buffering=True as our buffered data is not known to the HTTPConnection and may
contain data needed by a future request if the connection were left open.

See http://bugs.python.org/issue2576 and http://bugs.python.org/issue4879.
2009-08-15 22:39:03 +00:00
Senthil Kumaran e266f25cf1 Fixed Issue1424152, urllib2 fails with HTTPS over Proxy. 2009-05-24 09:14:50 +00:00
Benjamin Peterson 7d49bba969 give httplib.IncompleteRead a more sane repr #4308 2009-03-02 22:41:42 +00:00
Kristján Valur Jónsson 3c43fcba8b Issue 4879: Allow buffering for HTTPResponse 2009-01-11 16:23:37 +00:00
Kristján Valur Jónsson 7e876f5e93 Issue 4336: HTTPRequest._send_output() now deals with the case of the message body not being a string. This allows clients to use endheaders(message_body) instead of endheaders() + send(message_body) without making any extra checks. 2009-01-09 20:23:16 +00:00
Jeremy Hylton 0381f48936 Send HTTP headers and message body in a single send() call.
This change addresses part of issue 4336.

Change endheaders() to take an optional message_body argument
that is sent along with the headers.  Change xmlrpclib and
httplib's other methods to use this new interface.

It is more efficient to make a single send() call, which should
get the entire client request into one packet (assuming it is
smaller than the MTU) and will avoid the long pause for delayed
ack following timeout.

Also:
- Add a comment about the buffer size for makefile().
- Extract _set_content_length() method and fix whitespace issues there.
2008-11-29 01:09:35 +00:00
Brett Cannon e3d0bf740f The docs for httplib.HTTPConnection.putheader() have claimed for quite a while
that their could be an arbitrary number of values passed in. Turns out the code
did not match that. The code now matches the docs.
2008-11-15 22:40:44 +00:00
Brett Cannon 1eaf0742d8 Move test.test_support.catch_warning() to the warnings module, rename it
catch_warnings(), and clean up the API.

While expanding the test suite, a bug was found where a warning about the
'line' argument to showwarning() was not letting functions with '*args' go
without a warning.

Closes issue 3602.
Code review by Benjamin Peterson.
2008-09-02 01:25:16 +00:00
Brett Cannon 0a4128eae2 Silence the DeprecationWarning raised in httplib when mimetools is imported. 2008-08-16 21:56:03 +00:00
Gregory P. Smith c4691ec0bf - Issue #3094: httplib.HTTPSConnection Host: headers no longer include the
redundant ":443" port number designation when the connection is using the
  default https port (443).
2008-07-07 05:09:12 +00:00
Facundo Batista 4f1b1ed975 Fixed the semantic of timeout for socket.create_connection and
all the upper level libraries that use it, including urllib2.
Added and fixed some tests, and changed docs correspondingly.
Thanks to John J Lee for the patch and the pusing, :)
2008-05-29 16:39:26 +00:00
Georg Brandl 8c460d5241 #1627: httplib now ignores negative Content-Length headers. 2008-02-24 00:14:24 +00:00
Georg Brandl 2363503074 #900744: If an invalid chunked-encoding header is sent by a server,
httplib will now raise IncompleteRead and close the connection instead
of raising ValueError.
2008-02-24 00:03:22 +00:00
Christian Heimes c5f05e45cf Patch #2167 from calvin: Remove unused imports 2008-02-23 17:40:11 +00:00
Martin v. Löwis dad88dc159 Patch #1966: Break infinite loop in httplib when the servers
implements the chunked encoding incorrectly.
Will backport to 2.5.
2008-02-12 18:47:34 +00:00
Georg Brandl 26458c12a0 Fix tpyo. 2007-12-08 10:56:39 +00:00
Facundo Batista 7066590736 Issue #1580738. When HTTPConnection reads the whole stream with read(),
it closes itself.  When the stream is read in several calls to read(n),
it should behave in the same way if HTTPConnection knows where the end
of the stream is (through self.length).  Added a test case for this
behaviour.
2007-10-18 03:16:03 +00:00
Bill Janssen 98d19dafd9 More work on SSL support.
* Much expanded test suite:

  All protocols tested against all other protocols.
  All protocols tested with all certificate options.
  Tests for bad key and bad cert.
  Test of STARTTLS functionality.
  Test of RAND_* functions.

* Fixes for threading/malloc bug.

* Issue 1065 fixed:

  sslsocket class renamed to SSLSocket.
  sslerror class renamed to SSLError.
  Function "wrap_socket" now used to wrap an existing socket.

* Issue 1583946 finally fixed:

  Support for subjectAltName added.
  Subject name now returned as proper DN list of RDNs.

* SSLError exported from socket as "sslerror".

* RAND_* functions properly exported from ssl.py.

* Documentation improved:

  Example of how to create a self-signed certificate.
  Better indexing.
2007-09-10 21:51:02 +00:00
Bill Janssen c459264f5b deprecate use of FakeSocket 2007-08-31 19:02:23 +00:00
Thomas Wouters a6900e8d72 Don't lie in __all__ attributes when SSL is not available: only add the SSL
classes when they are actually created.
2007-08-30 21:54:39 +00:00
Bill Janssen 426ea0a864 This contains a number of things:
1) Improve the documentation of the SSL module, with a fuller
   explanation of certificate usage, another reference, proper
   formatting of this and that.

2) Fix Windows bug in ssl.py, and general bug in sslsocket.close().
   Remove some unused code from ssl.py.  Allow accept() to be called on
   sslsocket sockets.

3) Use try-except-else in import of ssl in socket.py.  Deprecate use of
   socket.ssl().

4) Remove use of socket.ssl() in every library module, except for
   test_socket_ssl.py and test_ssl.py.
2007-08-29 22:35:05 +00:00
Martin v. Löwis f25e35b9ec Bug #978833: Close https sockets by releasing the _ssl object. 2007-07-27 18:28:22 +00:00
Facundo Batista 70f996be24 Added timeout support to HTTPSConnection, through the
socket.create_connection function. Also added a small
test for this, and updated NEWS file.
2007-05-21 17:32:32 +00:00