Commit Graph

731 Commits

Author SHA1 Message Date
Nate Prewitt 5a65a0dab1 use InvalidHeader instead of ConflictingHeaderError 2017-03-01 07:32:14 -07:00
Nate Prewitt a52fe6586c consolidate super_len code and cleanup docstrings 2017-02-28 14:51:08 -07:00
Casey Davidson f239fe754d Change UnreachableCodeError to InvalidBodyError. 2017-02-28 14:49:52 -07:00
Casey Davidson 1003fdf0f2 Small fixes based on feedback in pull request. 2017-02-28 14:49:31 -07:00
Casey Davidson 033dfc165d Raise an error if body is not null, has not length and is not streamable. 2017-02-28 14:49:20 -07:00
Casey Davidson bfb202527d Alternate fix for 3066 to refactor prepare_body to always call prepare_content_length.
This allows for the 'Content-Length' header to only be set in prepare_content_length.
2017-02-28 14:49:01 -07:00
Rotem Yaari efcbe93075 Make Response.raise_for_status() return the response object if the response is successful
This allows for chaining method calls in cases where we want to raise for bad codes but use the response otherwise,
e.g. requests.get(URL).raise_for_status().json()['value']
2017-02-12 11:11:40 +02:00
Cory Benfield 241f2b2a6b Merge branch 'master' into proposed/3.0.0 2017-02-10 17:40:52 +00:00
Moin fae3f92c34 lazily load idna library 2017-01-17 20:34:15 +05:30
Cory Benfield ba7c464a03 Merge branch 'master' into proposed/3.0.0 2016-12-08 09:16:51 +00:00
Cory Benfield 402a55b647 Revert "Restrict URL preparation to HTTP/HTTPS"
This reverts commit 34af72c87d.
2016-11-30 21:19:31 +00:00
Cory Benfield 5c4549493b Merge pull request #3695 from nateprewitt/idna_bypass
idna bypass
2016-11-25 13:18:01 +00:00
Nicola Soranzo f897be58bf Make Response.content return None if raw is None
Add test.
2016-11-24 12:54:26 +00:00
Nicola Soranzo 4f428228d7 Make Response.content() return None if status_code is None
Fix #3698.
2016-11-23 21:15:07 +00:00
Christian Heimes 34af72c87d Restrict URL preparation to HTTP/HTTPS
Requests treats all URLs starting with the string 'http' as HTTP URLs.
Preparation with IDNA breaks non-standard URIs like http+unix. Requests
now prepares only URLs with prefix http:// and https://.

Signed-off-by: Christian Heimes <christian@python.org>
2016-11-21 18:46:57 +01:00
Nate Prewitt a83685ce00 modifying IDNA encoding check to allow fallback 2016-11-21 08:22:42 -07:00
Hussain 0d7de50dbd Just lstrip instead of strip because trailing whitespace already works. 2016-11-16 23:26:48 +05:30
Hussain 248d3e9f0f Fixed issue #3696. Added a test for it as well. 2016-11-16 22:48:45 +05:30
Nate Prewitt 84d99f01f5 add enforce_content_length=True default 2016-11-15 11:27:29 -07:00
Cory Benfield 7f88aca8f7 Merge branch 'master' into proposed/3.0.0 2016-11-15 17:16:04 +00:00
Chris Martin a49c387b7a Document that Response.json() may raise ValueError 2016-11-10 16:26:07 -05:00
Nate Prewitt 40402cd0dd adding rewind for re-POST bodies 2016-11-02 09:56:56 -06:00
Philipp Konrad 548a03acef requests.post checked data parameters for type like dict.
Changed the type check to Mapping.
2016-10-27 17:57:09 +02:00
Cory Benfield 8dd51d22fc Enable UTS46 mode. 2016-10-14 15:13:37 +01:00
Cory Benfield 27812eb902 Use IDNA2008 to encode hosts. 2016-10-14 10:17:52 +01:00
Frankie Robertson 327512f5ef Remove error swallowing exception catching of AttributeError 2016-09-29 23:07:16 +09:00
Brian Bamsch 087aeacee5 Change module of internal references to to_native_str() 2016-09-27 20:41:21 -07:00
Nate Prewitt 31b35ab838 removing redundant logic from prepare_content_length 2016-09-21 16:37:28 -06:00
Carson Lam d7227fbb7e Add workaround to avoid implicit import of encodings.idna. 2016-09-17 00:12:36 -07:00
Michael Hunsinger 713f56ea53 Decode response requires encoding to be set 2016-09-14 20:58:36 -06:00
Ian Cordasco b2f6173a38 Merge remote-tracking branch 'upstream/master' into proposed/3.0.0
Conflicts:
   requests/__init__.py
   requests/sessions.py
   tests/test_requests.py
2016-09-06 09:46:02 -05:00
Nate Prewitt 2e1086f5b4 adding comment 2016-09-05 14:17:46 -06:00
Nate Prewitt cd056cd621 adding ISO-8859-1 fallback for reason decoding 2016-09-02 11:37:48 -06:00
Nate Prewitt 59f12c9669 adding passthrough in close() for non-urllib3-like Responses 2016-08-12 10:54:41 -06:00
Ian Cordasco c69e3eed31 Close and then release the connection
urllib3 closes the underlying connection when we call
urllib3.Response.close but does not release it back to the connection
pool. This can cause issues when users have a blocking connection pool
configured and connections are not readily returned to the pool.

Since the underlying connection is closed, we should be able to safely
return the connection to the connection pool, so to fix this issue we
merely need to not return after closing the response.

Closes gh-3461
2016-07-30 07:16:18 -05:00
Ville Skyttä 5453b88f8f Spelling fixes 2016-07-26 15:24:29 +03:00
kennethreitz fb01456061 Merge pull request #3429 from nateprewitt/docstring_cleanup
Docstring cleanup
2016-07-20 18:38:38 -04:00
Nate Prewitt b7809acb47 making class and function docstrings consistent 2016-07-20 11:43:47 -06:00
Nate Prewitt 2d4a89f5dc adding in pep8 fixes 2016-07-20 10:30:08 -06:00
Andrii Kostenko 7700ecae14 Support responses like HTTP/1.1 404 Unicode chars (#3385) 2016-07-05 09:01:19 -05:00
Cory Benfield bd9e8f2271 Merge pull request #3366 from nateprewitt/2947-no-returns-in-header
check for headers containing return characters
2016-07-02 20:32:17 +01:00
Nate Prewitt 2669ab797c check and test for headers containing return characters or leading whitespace 2016-07-02 13:10:47 -06:00
Nate Prewitt 0c08ca7154 updating docstring to match functionality 2016-07-02 08:43:23 -06:00
Joy Zheng 0bcf634135 Allow None value for chunk_size again (#3368) 2016-06-30 19:11:01 -05:00
Nate Prewitt cf3c99890d added in type check for chunk_size 2016-06-27 19:58:15 -06:00
Ian Cordasco ecfb85f85e Merge remote-tracking branch 'upstream/master' into proposed/3.0.0
Conflicts:
      AUTHORS.rst
      requests/__init__.py
      requests/sessions.py
      tests/test_requests.py
2016-06-03 08:42:01 -05:00
Cory Benfield 49b69c4751 Merge pull request #3178 from haikuginger/master
Encoding JSON requests to bytes for urllib3 to handle
2016-05-22 17:02:09 +01:00
messense cb4c2c0b65 Fix TypeError when get json-encoded content of a response
``self.content`` could be ``None``, so ``len(self.content)`` may raise ``TypeError: object of type 'NoneType' has no len()``
2016-05-06 09:53:14 +08:00
Jesse Shapiro 52c0daff5f Cleaning up comment on JSON encoding to be more strictly relevant. 2016-05-05 12:12:49 -04:00
Jesse Shapiro 9ff2e43cd6 Removing charset from JSON content type; tightening requirements on .encode() 2016-05-05 06:27:12 -04:00