R David Murray
dc1650ca06
#22233 : Only split headers on \r and/or \n, per email RFCs.
...
Original patch by Martin Panter, new policy fixes by me.
2016-09-07 17:44:34 -04:00
R David Murray
1badd28163
Merge: #22233 : Only split headers on \r and/or \n, per email RFCs.
2016-09-07 17:46:55 -04:00
Martin Panter
ef91bb2660
Issue #12319 : Always send file request bodies using chunked encoding
...
The previous attempt to determine the file’s Content-Length gave a false
positive for pipes on Windows.
Also, drop the special case for sending zero-length iterable bodies.
2016-08-27 01:39:26 +00:00
Martin Panter
3c0d0baf2b
Issue #12319 : Support for chunked encoding of HTTP request bodies
...
When the body object is a file, its size is no longer determined with
fstat(), since that can report the wrong result (e.g. reading from a pipe).
Instead, determine the size using seek(), or fall back to chunked encoding
for unseekable files.
Also, change the logic for detecting text files to check for TextIOBase
inheritance, rather than inspecting the “mode” attribute, which may not
exist (e.g. BytesIO and StringIO). The Content-Length for text files is no
longer determined ahead of time, because the original logic could have been
wrong depending on the codec and newline translation settings.
Patch by Demian Brecht and Rolf Krahl, with a few tweaks by me.
2016-08-24 06:33:33 +00:00
Terry Jan Reedy
ffcb022738
Issue #27787 : No longer call deleted test_main().
2016-08-23 14:20:37 -04:00
Martin Panter
1fa6915427
Issue #27787 : Remove test_main() and hard-coded list of test classes
...
The @reap_threads decorator made the test wait (for up to 1 s) until
background threads have finished. Calling join() with a timeout should be
equivalent.
2016-08-23 09:01:43 +00:00
Martin Panter
b63c56077f
Close HTTP connections and responses in tests to avoid ResourceWarnings
2016-08-12 11:59:52 +00:00
Martin Panter
8d56c026a5
Issue #27125 : Fix various errors like “will [be] inherited”
2016-05-29 04:13:35 +00:00
Martin Panter
d979b2cfcf
Issue #21069 : Move test_fileno() from test_urllibnet and rewrite it
...
* No longer attempts to close already freed socket file descriptor
* Use socket object to be compatible with Windows
* Do not use a timeout to avoid complication with non-blocking mode
* Use internal localhost server rather than depending on a third party
* Avoid trouble with buffered HTTP data by testing tunnelled CONNECT data
2016-04-09 14:03:17 +00:00
Martin Panter
ce911c3fed
Issue #26499 : Fixes to HTTPResponse.readline() and read1(), by Silent Ghost
2016-03-17 06:42:48 +00:00
Martin Panter
44391481d7
Issue #26045 : Add UTF-8 suggestion to error in http.client
...
Based on patch by Guido van Rossum.
2016-02-09 10:20:52 +00:00
R David Murray
cae7bdb424
#3566 : Clean up handling of remote server disconnects.
...
This changeset does two things: introduces a new RemoteDisconnected exception
(that subclasses ConnectionResetError and BadStatusLine) so that a remote
server disconnection can be detected by client code (and provides a better
error message for debugging purposes), and ensures that the client socket is
closed if a ConnectionError happens, so that the automatic re-connection code
can work if the application handles the error and continues on.
Tests are added that confirm that a connection is re-used or not re-used
as appropriate to the various combinations of protocol version and headers.
Patch by Martin Panter, reviewed by Demian Brecht. (Tweaked only slightly by
me.)
2015-04-05 19:26:29 -04:00
R David Murray
0a0d20edfb
Merge: #23539 : Set Content-Length to 0 for PUT, POST, and PATCH if body is None.
2015-03-22 15:19:01 -04:00
R David Murray
beed8402ca
#23539 : Set Content-Length to 0 for PUT, POST, and PATCH if body is None.
...
Some http servers will reject PUT, POST, and PATCH requests if they
do not have a Content-Length header.
Patch by James Rutherford, with additional cleaning up of the
'request' documentation by me.
2015-03-22 15:18:23 -04:00
Serhiy Storchaka
b669bfc2be
Issue #22928 : Disabled HTTP header injections in http.client.
...
Original patch by Demian Brecht.
2015-03-12 11:15:15 +02:00
Serhiy Storchaka
a112a8ae47
Issue #22928 : Disabled HTTP header injections in http.client.
...
Original patch by Demian Brecht.
2015-03-12 11:13:36 +02:00
Victor Stinner
69899e6f3f
Merge 3.4 (httplib)
2015-02-27 17:47:40 +01:00
Victor Stinner
b389b48265
Issue #23526 : Fix ResourceWarning in test_httplib. Patch written by Alex Shkop.
2015-02-27 17:47:23 +01:00
Berker Peksag
abbf0f40bb
Issue #23442 : Rename two member names to stay backward compatible
...
with the constants in http.client.
Initial patch by Demian Brecht.
2015-02-20 14:57:31 +02:00
Berker Peksag
8e28679417
Issue #23439 : Add missing entries to http.client.__all__.
...
Also, document the LineTooLong exception since it can be raised by
the members of public API (e.g. http.client.HTTPResponse).
Patch by Martin Panter.
2015-02-20 09:45:05 +02:00
Berker Peksag
babc688180
Issue #23439 : Add missing entries to http.client.__all__.
...
Also, document the LineTooLong exception since it can be raised by
the members of public API (e.g. http.client.HTTPResponse).
Patch by Martin Panter.
2015-02-20 09:39:38 +02:00
Berker Peksag
ab53ab0a84
Issue #13128 : Print response headers for CONNECT requests when debuglevel > 0.
...
Patch by Demian Brecht.
2015-02-03 12:22:11 +02:00
Benjamin Peterson
60a2f49c8c
merge 3.4 ( #19996 )
2015-01-25 23:31:58 -05:00
Benjamin Peterson
155ceaa454
handle headers with no key ( closes #19996 )
...
Patch by Cory Benfield.
2015-01-25 23:30:30 -05:00
Senthil Kumaran
cc522bdd0c
merge from 3.4
...
Increase http.client.HTTPConnection test coverage.
Added a new tunnel test to verify setting of _tunnel_host, _tunnel_port,
_tunnel_headers attributes on HTTPConnection object.
2015-01-24 19:26:18 -08:00
Senthil Kumaran
e6cc70123e
Increase http.client.HTTPConnection test coverage.
...
Added a new tunnel test to verify setting of _tunnel_host, _tunnel_port,
_tunnel_headers attributes on HTTPConnection object.
2015-01-24 19:24:59 -08:00
Benjamin Peterson
9d8a3ad02a
http.client: disable Nagle's algorithm ( closes #23302 )
...
Patch by Demian Brecht.
2015-01-23 11:02:57 -05:00
Benjamin Peterson
2a7d05a9f2
merge 3.4
2014-12-13 16:13:31 -05:00
Benjamin Peterson
9566de18e6
make sure server threads get cleaned up
2014-12-13 16:13:24 -05:00
Serhiy Storchaka
4ac7ed97a8
Issue #22095 : Fixed HTTPConnection.set_tunnel with default port. The port
...
value in the host header was set to "None". Patch by Demian Brecht.
2014-12-12 09:29:15 +02:00
Benjamin Peterson
a090f01bb6
HTTPSConnection: prefer the context's check_hostname attribute over the constructor parameter ( #22959 )
2014-12-07 13:18:25 -05:00
Serhiy Storchaka
b491e0521f
Issue #21032 . Fixed socket leak if HTTPConnection.getresponse() fails.
...
Original patch by Martin Panter.
2014-12-01 13:07:45 +02:00
Benjamin Peterson
2615e9e293
don't fail tests when www.python.org can't be validated by the system
2014-11-25 15:16:55 -06:00
Serhiy Storchaka
d4a001b23c
Issue #22095 : Fixed HTTPConnection.set_tunnel with default port. The port
...
value in the host header was set to "None". Patch by Demian Brecht.
2014-12-12 09:30:18 +02:00
Benjamin Peterson
b46247bee5
merge 3.4 ( #22959 )
2014-12-07 13:47:34 -05:00
Serhiy Storchaka
2205da43a6
Issue #21032 . Fixed socket leak if HTTPConnection.getresponse() fails.
...
Original patch by Martin Panter.
2014-12-01 13:10:12 +02:00
Benjamin Peterson
8dcaa4b1c6
merge 3.4
2014-11-25 18:05:40 -06:00
Georg Brandl
dca213dd77
merge with 3.4
2014-11-05 22:17:29 +01:00
Georg Brandl
fbaf931096
test_httplib: use self-signed.pythontest.net for verification test with non-root-CA cert
2014-11-05 20:37:40 +01:00
Benjamin Peterson
1cca273669
merge 3.4 ( #22417 )
2014-11-03 14:36:48 -05:00
Benjamin Peterson
4ffb075271
PEP 476: enable HTTPS certificate verification by default ( #22417 )
...
Patch by Alex Gaynor with some modifications by me.
2014-11-03 14:29:33 -05:00
Charles-François Natali
6e20460dc6
Issue #21566 : Make use of socket.listen() default backlog.
2014-07-23 19:28:13 +01:00
Senthil Kumaran
166214c344
merge from 3.4
...
Issue #7776 : Fix ``Host:'' header and reconnection when using http.client.HTTPConnection.set_tunnel()
Patch by Nikolaus Rath.
2014-04-14 13:10:05 -04:00
Senthil Kumaran
9da047b3a5
Issue #7776 : Fix ``Host:'' header and reconnection when using http.client.HTTPConnection.set_tunnel().
...
Patch by Nikolaus Rath.
2014-04-14 13:07:56 -04:00
Kristján Valur Jónsson
8e5d0caf92
Issue #19009
...
Enhance HTTPResponse.readline() performance
2014-03-19 10:07:26 +00:00
Serhiy Storchaka
d3e1207191
Issue #20555 : Use specific asserts in urllib, httplib, ftplib, cgi, wsgiref tests.
2014-02-08 14:51:10 +02:00
Serhiy Storchaka
25d8aeac7c
Issue #20555 : Use specific asserts in urllib, httplib, ftplib, cgi, wsgiref tests.
2014-02-08 14:50:08 +02:00
Serhiy Storchaka
cac05e2e90
Issue #20007 : HTTPResponse.read(0) no more prematurely closes connection.
...
Original patch by Simon Sapin.
2013-12-17 21:51:40 +02:00
Serhiy Storchaka
1c84ac1f55
Issue #20007 : HTTPResponse.read(0) no more prematurely closes connection.
...
Original patch by Simon Sapin.
2013-12-17 21:50:02 +02:00
Georg Brandl
bf3f8eb960
Issue #16037 : HTTPMessage.readheaders() raises an HTTPException when more than
...
100 headers are read. Adapted from patch by Jyrki Pulliainen.
2013-10-27 07:34:48 +01:00
Georg Brandl
b89b5df9c9
merge with 3.3
2013-10-27 07:46:09 +01:00
Serhiy Storchaka
48e6a8c88a
Issue #18743 : Fix references to non-existant "StringIO" module
...
in docstrings and comments.
2013-08-29 11:39:48 +03:00
Serhiy Storchaka
50254c57cd
Issue #18743 : Fix references to non-existant "StringIO" module
...
in docstrings and comments.
2013-08-29 11:35:43 +03:00
Andrew Svetlov
3042b5ebf4
Issue #16658 : add missing return to HTTPConnection.send().
...
Patch by Jeff Knupp
2013-04-12 22:50:42 +03:00
Andrew Svetlov
7b2c8bb833
Issue #16658 : add missing return to HTTPConnection.send().
...
Patch by Jeff Knupp
2013-04-12 22:49:19 +03:00
Serhiy Storchaka
daf990f8a7
Issue #16723 : httplib.HTTPResponse no longer marked closed when the connection
...
is automatically closed.
2013-02-06 10:37:19 +02:00
Serhiy Storchaka
b6c86fd87f
Issue #16723 : httplib.HTTPResponse no longer marked closed when the connection
...
is automatically closed.
2013-02-06 10:35:40 +02:00
Serhiy Storchaka
b5b9c8cd40
Issue #16723 : httplib.HTTPResponse no longer marked closed when the connection
...
is automatically closed.
2013-02-06 10:31:57 +02:00
Antoine Pitrou
da23259f99
Issue #17107 : Test client-side SNI support in urllib.request thanks to the new server-side SNI support in the ssl module.
...
Initial patch by Daniel Black.
2013-02-05 21:20:51 +01:00
Antoine Pitrou
b5032c85af
Issue #15633 : httplib.HTTPResponse is now mark closed when the server sends less than the advertised Content-Length.
2013-02-02 23:06:22 +01:00
Antoine Pitrou
6a35e18161
Issue #15633 : httplib.HTTPResponse is now mark closed when the server sends less than the advertised Content-Length.
2013-02-02 23:04:56 +01:00
Antoine Pitrou
beec61ae4e
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
Antoine Pitrou
90e4774558
Issue #16833 : In http.client.HTTPConnection, do not concatenate the request headers and body when the payload exceeds 16 KB, since it can consume more memory for no benefit.
...
Patch by Benno Leslie.
2013-01-02 22:10:47 +01:00
Andrew Svetlov
0832af6628
Issue #16717 : get rid of socket.error, replace with OSError
2012-12-18 23:10:48 +02:00
Antoine Pitrou
d20e7745ee
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:22:30 +01:00
Antoine Pitrou
084daa2f74
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
Senthil Kumaran
d34b57a9a2
merge - Fix Issue14721: Send Content-length: 0 for empty body () in the http.client requests
2012-05-19 16:58:45 +08:00
Senthil Kumaran
5fa4a89601
Fix Issue14721: Send Content-length: 0 for empty body () in the http.client requests
2012-05-19 16:58:09 +08:00
Senthil Kumaran
889ad16e54
httplib test for early eof response. related to Issue13684
2012-04-29 10:21:26 +08:00
Senthil Kumaran
9c29f86a81
httplib test for early eof response. related to Issue13684
2012-04-29 10:20:46 +08:00
Antoine Pitrou
f7e7818e24
Issue #13713 : fix a regression in HTTP chunked reading after 806cfe39f729
...
(originally issue #13464 : Add a readinto() method to http.client.HTTPResponse)
2012-01-04 18:57:22 +01:00
Antoine Pitrou
38d9643d5e
Issue #13464 : Add a readinto() method to http.client.HTTPResponse.
...
Patch by Jon Kuhn.
2011-12-06 22:33:57 +01:00
Petri Lehtinen
cc9695643f
Issue #10860 : Skip the new test if HTTPS is not available
2011-10-26 21:29:54 +03:00
Petri Lehtinen
e119c403a1
Issue #10860 : Skip the new test if HTTPS is not available
2011-10-26 21:29:15 +03:00
Łukasz Langa
6c4e1aed4b
Merged fix for #10860 from 3.2
2011-10-19 02:04:46 +02:00
Łukasz Langa
a5a9a9c369
Fixes #10860 : Handle empty port after port delimiter in httplib
2011-10-18 21:17:39 +02:00
Victor Stinner
c61fae04f6
Merge 3.2: test_httplib removes temporary files
2011-09-21 01:09:29 +02:00
Victor Stinner
18d15cb665
test_httplib removes temporary files
2011-09-21 01:09:04 +02:00
Brett Cannon
252365bab8
Silence the altered state warning about threadgs when running test_httplib.
2011-08-04 22:43:11 -07:00
Senthil Kumaran
eb71ad4c71
Fix closes Issue12676 - Invalid identifier used in TypeError message in http.client.
...
Reported by Popa Claudiu and Patch by Santoso Wijaya.
2011-08-02 18:33:41 +08:00
Raymond Hettinger
7beae8a0d5
Issue 10825: Minor updates to the test suite.
2011-01-06 05:34:17 +00:00
Victor Stinner
04ba966eab
test_httplib: fix a DeprecationWarning, assertEquals=>assertEqual
2011-01-04 00:04:46 +00:00
Senthil Kumaran
7bc0d872dd
Issue3243 - Support iterable bodies in httplib. Patch contributions by Xuanji Li and Chris AtLee.
2010-12-19 10:49:52 +00:00
Senthil Kumaran
5466bf1c94
Fix Issue6791 - Limit the HTTP header readline with _MAXLENGTH. Patch by Antoine Pitrou
2010-12-18 16:55:23 +00:00
Ezio Melotti
b3aedd4862
#9424 : Replace deprecated assert* methods in the Python test suite.
2010-11-20 19:04:17 +00:00
Senthil Kumaran
74ebd9e6a3
Fix Issue5111 - Wrap the Ipv6 host with [] in the Host header
2010-11-13 12:27:49 +00:00
Brett Cannon
77b7de6d18
Move test_httplib over to file context managers.
2010-10-29 23:31:11 +00:00
Antoine Pitrou
803e6d670c
Issue #9003 : http.client.HTTPSConnection, urllib.request.HTTPSHandler and
...
urllib.request.urlopen now take optional arguments to allow for
server certificate checking, as recommended in public uses of HTTPS.
2010-10-13 10:36:15 +00:00
Senthil Kumaran
f580adee27
Remove the debugging print line from the test.
2010-10-04 05:42:58 +00:00
Senthil Kumaran
58d5dbf80b
Fix Issue10012 - httplib headers, which are (sometimes mistakenly) int are explicitly cast to str (bytes - in py3k).
2010-10-03 18:22:42 +00:00
Senthil Kumaran
9f8dc4441f
Fix Issue8572 - httplib getheader() throws error instead of default
2010-08-02 11:04:58 +00:00
Senthil Kumaran
0b99883547
Merged revisions 81691 via svnmerge from
...
svn+ssh://pythondev@svn.python.org/python/trunk
........
r81691 | senthil.kumaran | 2010-06-04 22:47:09 +0530 (Fri, 04 Jun 2010) | 3 lines
test verifying the resp object is closed for HEAD response.
........
2010-06-04 17:27:11 +00:00
Senthil Kumaran
71fb6c88a8
Merged revisions 80583 via svnmerge from
...
svn+ssh://pythondev@svn.python.org/python/trunk
........
r80583 | senthil.kumaran | 2010-04-28 22:50:43 +0530 (Wed, 28 Apr 2010) | 3 lines
Fixed Issue6312 - httplib fails with HEAD requests to pages with "transfer-encoding: chunked"
........
2010-04-28 17:39:48 +00:00
Benjamin Peterson
11dbfd4195
Merged revisions 78417 via svnmerge from
...
svn+ssh://pythondev@svn.python.org/python/trunk
........
r78417 | dirkjan.ochtman | 2010-02-23 22:49:00 -0600 (Tue, 23 Feb 2010) | 1 line
Issue #7427 : improve the representation of httplib.BadStatusLine exceptions.
........
2010-03-21 22:50:04 +00:00
Gregory P. Smith
b4066374db
Merged revisions 77263-77264 via svnmerge from
...
svn+ssh://pythondev@svn.python.org/python/trunk
........
r77263 | gregory.p.smith | 2010-01-02 17:29:44 -0800 (Sat, 02 Jan 2010) | 4 lines
Adds an optional source_address parameter to socket.create_connection().
For use by issue3972.
........
r77264 | gregory.p.smith | 2010-01-02 18:06:07 -0800 (Sat, 02 Jan 2010) | 5 lines
issue3972: HTTPConnection and HTTPSConnection now support a
source_address parameter.
Also cleans up an annotation in the socket documentation.
........
2010-01-03 03:28:29 +00:00
Antoine Pitrou
ead1d62d32
[NOTE: the original bug doesn't exist in py3k but this adds Kirk's tests and fixes
...
another bug in the process]
Merged revisions 75134 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r75134 | antoine.pitrou | 2009-09-29 19:48:18 +0200 (mar., 29 sept. 2009) | 4 lines
Issue #6790 : Make it possible again to pass an `array.array` to
`httplib.HTTPConnection.send`. Patch by Kirk McDonald.
........
2009-09-29 18:44:53 +00:00
Benjamin Peterson
c9c0f201fe
convert old fail* assertions to assert*
2009-06-30 23:06:06 +00:00
Jeremy Hylton
636950f925
Remove special logic that closes HTTPConnection socket on EPIPE.
...
http://bugs.python.org/issue5542
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.
Also, various formatting changes.
2009-03-28 04:34:21 +00:00
Jeremy Hylton
7c1692d587
Replace references to httplib with http.client.
2009-03-27 21:31:03 +00:00
Jeremy Hylton
236654b82d
Fix some string encoding issues with entity bodies in HTTP requests.
...
RFC 2616 says that iso-8859-1 is the default charset for HTTP entity
bodies, but we encoded strings using ascii. See
http://bugs.python.org/issue5314 . Changed docs and code to use
iso-8859-1.
Also fix some brokenness with passing a file as the body instead of a
string.
Add tests to show that some of this behavior actually works.
2009-03-27 20:24:34 +00:00