]> git.ipfire.org Git - thirdparty/tornado.git/log
thirdparty/tornado.git
5 years agoAdd Python 3.8 clasifier to setup.py 2812/head
James Bourbeau [Wed, 19 Feb 2020 19:20:45 +0000 (13:20 -0600)] 
Add Python 3.8 clasifier to setup.py

5 years agoMerge pull request #2805 from tornadoweb/resolve-pending
Ben Darnell [Sat, 1 Feb 2020 21:44:42 +0000 (16:44 -0500)] 
Merge pull request #2805 from tornadoweb/resolve-pending

iostream: Resolve pending reads on stream close

5 years agoiostream: Expand comments around recent subtle changes 2805/head
Ben Darnell [Sat, 1 Feb 2020 17:49:13 +0000 (12:49 -0500)] 
iostream: Expand comments around recent subtle changes

5 years agoiostream: Add tests for behavior around close with read_until
Ben Darnell [Mon, 5 Aug 2019 01:34:32 +0000 (21:34 -0400)] 
iostream: Add tests for behavior around close with read_until

Updates #2719

5 years agocatch UnsatisfiableReadError in close
Min RK [Fri, 2 Aug 2019 09:20:00 +0000 (11:20 +0200)] 
catch UnsatisfiableReadError in close

5 years agoavoid premature _check_closed in _start_read
Min RK [Thu, 1 Aug 2019 11:53:56 +0000 (13:53 +0200)] 
avoid premature _check_closed in _start_read

_start_read can resolve with _try_inline_read, which can succeed even if the stream has been closed
if the buffer has been populated by a prior read

preserve the fix for asserts being hit when dealing with closed sockets

5 years agoiostream: resolve reads that may be completed while closing
Min RK [Thu, 1 Aug 2019 11:51:12 +0000 (13:51 +0200)] 
iostream: resolve reads that may be completed while closing

fixes issue that a read may fail with StreamClosedError
if stream is closed mid-read

5 years agoMerge pull request #2799 from tornadoweb/wintest
Ben Darnell [Sun, 19 Jan 2020 22:58:40 +0000 (17:58 -0500)] 
Merge pull request #2799 from tornadoweb/wintest

Improve tests on windows

5 years agoasyncio: AnyThreadEventLoopPolicy should always use selectors on windows 2799/head
Ben Darnell [Sun, 19 Jan 2020 22:37:14 +0000 (17:37 -0500)] 
asyncio: AnyThreadEventLoopPolicy should always use selectors on windows

5 years agoci: Add python 3.8 to windows CI
Ben Darnell [Sun, 19 Jan 2020 20:19:45 +0000 (15:19 -0500)] 
ci: Add python 3.8 to windows CI

5 years agotesting: Add level argument to ExpectLog
Ben Darnell [Sun, 19 Jan 2020 20:11:54 +0000 (15:11 -0500)] 
testing: Add level argument to ExpectLog

This makes it possible for tests to be a little more precise, and also
makes them less dependent on exactly how the test is run (runtests.py
sets the logging level to info, but when running tests directly from
an editor it may use the default of warnings-only).

CI only runs the tests with runtests.py, so this might regress, but I'm
not building anything to prevent that yet (options include running the
tests differently in CI or making ExpectLog always use a fixed log
configuration instead of picking up the current one)

5 years agotest: Add hasattr check for SIGCHLD
Ben Darnell [Sun, 19 Jan 2020 16:00:06 +0000 (11:00 -0500)] 
test: Add hasattr check for SIGCHLD

This name is not present on all platforms

5 years agotest: Add some more skips on windows
Ben Darnell [Sun, 19 Jan 2020 15:59:27 +0000 (10:59 -0500)] 
test: Add some more skips on windows

Alternate resolvers behave differently on this platform for unknown
reasons.

5 years agotest: Use selector event loop on windows.
Ben Darnell [Sat, 18 Jan 2020 23:24:03 +0000 (18:24 -0500)] 
test: Use selector event loop on windows.

This gets most of the tests working again on windows with py38.

5 years agotest: Add gitattributes for test data files
Ben Darnell [Sat, 2 Nov 2019 21:29:29 +0000 (17:29 -0400)] 
test: Add gitattributes for test data files

This ensures that the tests pass on Windows regardless of the user's git
CRLF settings.

5 years agoMerge pull request #2783 from kinow/fix-1824
Ben Darnell [Sun, 8 Dec 2019 21:01:27 +0000 (16:01 -0500)] 
Merge pull request #2783 from kinow/fix-1824

Use bcrypt's checkpw instead of == in demo blog app

5 years agouse bcrypt's checkpw instead of == 2783/head
Bruno P. Kinoshita [Fri, 29 Nov 2019 10:49:35 +0000 (23:49 +1300)] 
use bcrypt's checkpw instead of ==

5 years agoMerge pull request #2780 from bdarnell/lint-updates
Ben Darnell [Sat, 23 Nov 2019 20:48:43 +0000 (15:48 -0500)] 
Merge pull request #2780 from bdarnell/lint-updates

lint: Update black and mypy

5 years agolint: Use newer mypy 2780/head
Ben Darnell [Mon, 4 Nov 2019 01:35:01 +0000 (20:35 -0500)] 
lint: Use newer mypy

This required some minor code changes, mainly some adjustments in tests
(which are now analyzed more thoroughly in spite of being mostly
unannotated), and some changes to placement of type:ignore comments.

5 years agolint: Upgrade to new version of black
Ben Darnell [Sun, 3 Nov 2019 22:23:04 +0000 (17:23 -0500)] 
lint: Upgrade to new version of black

5 years agobuild: Run docs and lint on py38
Ben Darnell [Sun, 3 Nov 2019 22:18:54 +0000 (17:18 -0500)] 
build: Run docs and lint on py38

This requires moving some noqa comments due to 3.8's changes to the
ast module.

5 years agoweb: Update hashing algorithm in StaticFileHandler (#2778)
Mike DePalatis [Sat, 23 Nov 2019 19:42:56 +0000 (12:42 -0700)] 
web: Update hashing algorithm in StaticFileHandler (#2778)

Addresses #2776.

5 years agoMerge pull request #2777 from mivade/remove-speedups-py2-support
Ben Darnell [Sat, 23 Nov 2019 18:08:34 +0000 (13:08 -0500)] 
Merge pull request #2777 from mivade/remove-speedups-py2-support

Housekeeping: Remove legacy Python support in speedups.c

5 years agoMerge pull request #2779 from bdarnell/ci-fix
Ben Darnell [Sat, 23 Nov 2019 17:25:41 +0000 (12:25 -0500)] 
Merge pull request #2779 from bdarnell/ci-fix

ci: Don't run the full test suite on python 3.5.2

5 years agoci: Don't run full test suite on python 3.5.2 2779/head
Ben Darnell [Sat, 23 Nov 2019 17:00:51 +0000 (12:00 -0500)] 
ci: Don't run full test suite on python 3.5.2

5 years agoRemove legacy Python support in speedups.c 2777/head
Michael V. DePalatis [Thu, 21 Nov 2019 19:31:55 +0000 (12:31 -0700)] 
Remove legacy Python support in speedups.c

5 years agoMerge pull request #2772 from ploxiln/fork_doc_exit
Ben Darnell [Tue, 12 Nov 2019 02:49:40 +0000 (21:49 -0500)] 
Merge pull request #2772 from ploxiln/fork_doc_exit

process: correct docs of fork_processes exit behavior

5 years agoprocess: correct docs of fork_processes exit behavior 2772/head
Pierce Lopez [Sun, 10 Nov 2019 17:43:27 +0000 (12:43 -0500)] 
process: correct docs of fork_processes exit behavior

fixes #2771

5 years agoMerge pull request #2768 from bdarnell/ci-revamp
Ben Darnell [Sun, 3 Nov 2019 22:08:52 +0000 (17:08 -0500)] 
Merge pull request #2768 from bdarnell/ci-revamp

build: Revamp test/CI configuration

5 years agobuild: Revamp test/CI configuration 2768/head
Ben Darnell [Sun, 3 Nov 2019 20:09:18 +0000 (15:09 -0500)] 
build: Revamp test/CI configuration

Reduce tox matrix to one env per python version, with two extra builds
for lint and docs. Delegate to tox from travis-ci.

Add 3.8 to testing. Simplify by dropping coverage reporting and
"no-deps" test runs.

5 years agoMerge pull request #2767 from bdarnell/fix-lint
Ben Darnell [Sun, 3 Nov 2019 15:49:55 +0000 (10:49 -0500)] 
Merge pull request #2767 from bdarnell/fix-lint

demos: Fix lint in webspider demo

5 years agodemos: Fix lint in webspider demo 2767/head
Ben Darnell [Sun, 3 Nov 2019 14:57:48 +0000 (09:57 -0500)] 
demos: Fix lint in webspider demo

Updates #2765

5 years agoMerge pull request #2765 from jvansan:master
Ben Darnell [Sun, 3 Nov 2019 14:51:18 +0000 (09:51 -0500)] 
Merge pull request #2765 from jvansan:master

Dead link handling in webspider example

5 years agoMerge pull request #2766 from tornadoweb/pin-black
Ben Darnell [Sun, 3 Nov 2019 14:47:37 +0000 (09:47 -0500)] 
Merge pull request #2766 from tornadoweb/pin-black

ci: Pin version of black

5 years agoci: Pin version of black 2766/head
Ben Darnell [Sat, 2 Nov 2019 21:37:36 +0000 (17:37 -0400)] 
ci: Pin version of black

A new release of black changed the way some of our files are formatted,
so use a fixed version in CI.

5 years agoDead link handling 2765/head
Jeff van Santen [Sat, 2 Nov 2019 00:11:52 +0000 (17:11 -0700)] 
Dead link handling

Added an extra set for handling dead links, and reporting.

One consequence of this is that using this script will "work" offline, but will report that some all the links were not fetched.

5 years agoMerge pull request #2727 from andersk/304
Ben Darnell [Mon, 21 Oct 2019 02:34:18 +0000 (22:34 -0400)] 
Merge pull request #2727 from andersk/304

Clear fewer headers on 1xx/204/304 responses

5 years agoMerge pull request #2745 from remram44/re-unescape
Ben Darnell [Mon, 21 Oct 2019 02:16:10 +0000 (22:16 -0400)] 
Merge pull request #2745 from remram44/re-unescape

Fix unescaping of regex routes

5 years agoMerge pull request #2748 from supakeen/readme-improvements
Ben Darnell [Thu, 17 Oct 2019 01:45:58 +0000 (21:45 -0400)] 
Merge pull request #2748 from supakeen/readme-improvements

Use HTTPS link for tornado website.

5 years agoMerge pull request #2750 from jbampton/simplify-statements
Ben Darnell [Thu, 17 Oct 2019 01:34:13 +0000 (21:34 -0400)] 
Merge pull request #2750 from jbampton/simplify-statements

Simplify chained comparisons.

5 years agoMerge pull request #2755 from tornadoweb/dependabot/pip/maint/twisted-19.7.0
Ben Darnell [Thu, 17 Oct 2019 01:31:40 +0000 (21:31 -0400)] 
Merge pull request #2755 from tornadoweb/dependabot/pip/maint/twisted-19.7.0

build(deps): bump twisted from 19.2.1 to 19.7.0 in /maint

5 years agobuild(deps): bump twisted from 19.2.1 to 19.7.0 in /maint 2755/head
dependabot[bot] [Thu, 17 Oct 2019 01:14:26 +0000 (01:14 +0000)] 
build(deps): bump twisted from 19.2.1 to 19.7.0 in /maint

Bumps [twisted](https://github.com/twisted/twisted) from 19.2.1 to 19.7.0.
- [Release notes](https://github.com/twisted/twisted/releases)
- [Changelog](https://github.com/twisted/twisted/blob/trunk/NEWS.rst)
- [Commits](https://github.com/twisted/twisted/compare/twisted-19.2.1...twisted-19.7.0)

Signed-off-by: dependabot[bot] <support@github.com>
5 years agoMerge pull request #2741 from khasanovbi/fix_head_transfer_encoding_chunked
Ben Darnell [Thu, 17 Oct 2019 00:54:06 +0000 (20:54 -0400)] 
Merge pull request #2741 from khasanovbi/fix_head_transfer_encoding_chunked

Fix extra data sending at HEAD response with Transfer-Encoding: Chunked

5 years agoSimplify chained comparison. 2750/head
John Bampton [Sun, 6 Oct 2019 02:44:52 +0000 (12:44 +1000)] 
Simplify chained comparison.

5 years agoUse HTTPS link for tornado website. 2748/head
supakeen [Sat, 5 Oct 2019 10:52:09 +0000 (10:52 +0000)] 
Use HTTPS link for tornado website.

5 years agoFix unescaping of regex routes 2745/head
Remi Rampin [Fri, 4 Oct 2019 01:32:04 +0000 (21:32 -0400)] 
Fix unescaping of regex routes

Previously, only the part before the first '(' would be correctly
unescaped.

5 years agoAdd test for unescaping with groups
Remi Rampin [Fri, 4 Oct 2019 15:00:43 +0000 (11:00 -0400)] 
Add test for unescaping with groups

5 years agoOmit Transfer-Encoding header for HEAD response 2741/head
Bulat Khasanov [Sun, 8 Sep 2019 15:06:55 +0000 (18:06 +0300)] 
Omit Transfer-Encoding header for HEAD response

5 years agoFix extra data sending at HEAD response with Transfer-Encoding: Chunked
Bulat Khasanov [Sun, 8 Sep 2019 03:14:52 +0000 (06:14 +0300)] 
Fix extra data sending at HEAD response with Transfer-Encoding: Chunked

5 years agoClear fewer headers on 1xx/204/304 responses 2727/head
Anders Kaseorg [Fri, 30 Aug 2019 18:18:36 +0000 (11:18 -0700)] 
Clear fewer headers on 1xx/204/304 responses

This function is called on more than just 304 responses; it’s
important to permit the Allow header on 204 responses.  Also, the
relevant RFCs have changed significantly.

Fixes #2726.

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
5 years agoMerge pull request #2723 from bluetech/perf1
Ben Darnell [Mon, 2 Sep 2019 17:20:28 +0000 (13:20 -0400)] 
Merge pull request #2723 from bluetech/perf1

httputil: A couple of small performance improvements

5 years agoMerge pull request #2735 from ploxiln/body_args_bytes
Ben Darnell [Mon, 2 Sep 2019 16:12:02 +0000 (12:12 -0400)] 
Merge pull request #2735 from ploxiln/body_args_bytes

parse_body_arguments: allow incomplete url-escaping

5 years agohttputil.parse_body_arguments: allow incomplete url-escaping 2735/head
Pierce Lopez [Thu, 29 Aug 2019 02:56:31 +0000 (22:56 -0400)] 
httputil.parse_body_arguments: allow incomplete url-escaping

support x-www-form-urlencoded body with values consisting of
encoded bytes which are not url-encoded into ascii
(it seems other web frameworks often support this)

add bytes qs support to escape.parse_qs_bytes,
leave str qs support for backwards compatibility

5 years agotests: replace remaining assertEquals() with assertEqual()
Pierce Lopez [Thu, 29 Aug 2019 03:34:54 +0000 (23:34 -0400)] 
tests: replace remaining assertEquals() with assertEqual()

assertEquals() is deprecated, and python3.7/pytest can warn about it

5 years agospelling corrections
Semen Zhydenko [Sun, 11 Aug 2019 23:44:12 +0000 (01:44 +0200)] 
spelling corrections

* maintainance -> maintenance

* recieving -> receiving

5 years agoMerge pull request #2725 from bdarnell/ssl-win-py374
Ben Darnell [Sun, 11 Aug 2019 23:43:01 +0000 (19:43 -0400)] 
Merge pull request #2725 from bdarnell/ssl-win-py374

test: Disable TLS 1.3 in one test

5 years agotest: Disable TLS 1.3 in one test 2725/head
Ben Darnell [Sun, 11 Aug 2019 02:00:41 +0000 (22:00 -0400)] 
test: Disable TLS 1.3 in one test

This test started failing on windows CI with an upgrade to python
3.7.4 (which bundles a newer version of openssl). Disable tls 1.3 for
now.

Possibly related to #2536

5 years agohttputil: use compiled re patterns 2723/head
Ran Benita [Tue, 6 Aug 2019 16:18:41 +0000 (19:18 +0300)] 
httputil: use compiled re patterns

This is slightly faster than using the builtin cache, e.g.:

With benchmark below (Python 3.7, Linux):

before: 0.7284867879934609
after:  0.2657967659761198

```py
import re
from time import perf_counter

line = 'HTTP/1.1'

_http_version_re = re.compile(r"^HTTP/1\.[0-9]$")

start = perf_counter()
for i in range(1000000):
    _http_version_re.match(line)
print(perf_counter() - start)

start = perf_counter()
for i in range(1000000):
    re.match(r"^HTTP/1\.[0-9]$", line)
print(perf_counter() - start)
```

5 years agohttputil: cache header normalization with @lru_cache instead of hand-rolling
Ran Benita [Tue, 6 Aug 2019 15:16:31 +0000 (18:16 +0300)] 
httputil: cache header normalization with @lru_cache instead of hand-rolling

Tornado is now py3-only so @lru_cache is always available.

Performance is about the same. Benchmark below. Python 3.7 on Linux.

before, cached:   0.9121252089971676
before, uncached: 13.358482279989403

after, cached:    0.9175888689933345
after, uncached:  11.085199063003529

```py
from time import perf_counter

names = [f'sOMe-RanDOM-hEAdeR-{i}' for i in range(1000)]

from tornado.httputil import _normalize_header
start = perf_counter()
for i in range(10000):
    # _normalize_header.cache_clear()
    for name in names:
        _normalize_header(name)
print(perf_counter() - start)

from tornado.httputil import _NormalizedHeaderCache
start = perf_counter()
_normalized_headers = _NormalizedHeaderCache(1000)
for i in range(10000):
    # _normalized_headers = _NormalizedHeaderCache(1000)
    for name in names:
        _normalized_headers[name]
print(perf_counter() - start)
```

6 years agoMerge pull request #2692 from mivade/docs-blog-example-update
Ben Darnell [Fri, 2 Aug 2019 14:38:08 +0000 (10:38 -0400)] 
Merge pull request #2692 from mivade/docs-blog-example-update

Update database backend reference

6 years agoMerge pull request #2715 from mivade/template-optional-autoescape-typing
Ben Darnell [Fri, 2 Aug 2019 13:44:11 +0000 (09:44 -0400)] 
Merge pull request #2715 from mivade/template-optional-autoescape-typing

Mark Template autoescape kwarg as Optional

6 years agoMerge pull request #2707 from remram44/patch-1
Ben Darnell [Fri, 2 Aug 2019 13:38:12 +0000 (09:38 -0400)] 
Merge pull request #2707 from remram44/patch-1

Strip documentation about removed argument

6 years agoMark Template autoescape kwarg as Optional 2715/head
Michael V. DePalatis [Fri, 26 Jul 2019 17:01:11 +0000 (11:01 -0600)] 
Mark Template autoescape kwarg as Optional

6 years agoStrip documentation about removed argument 2707/head
Remi Rampin [Wed, 17 Jul 2019 21:50:19 +0000 (14:50 -0700)] 
Strip documentation about removed argument

6 years agoUpdate database backend reference 2692/head
Michael V. DePalatis [Wed, 26 Jun 2019 15:35:20 +0000 (09:35 -0600)] 
Update database backend reference

6 years agoMerge pull request #2687 from bdarnell/req-bump
Ben Darnell [Sun, 23 Jun 2019 22:57:56 +0000 (18:57 -0400)] 
Merge pull request #2687 from bdarnell/req-bump

Bump version of twisted to pick up security fix

6 years agoMerge pull request #2688 from bdarnell/relnotes603
Ben Darnell [Sun, 23 Jun 2019 22:57:45 +0000 (18:57 -0400)] 
Merge pull request #2688 from bdarnell/relnotes603

Release notes for 6.0.3

6 years agoRelease notes for 6.0.3 2688/head
Ben Darnell [Sat, 22 Jun 2019 17:06:50 +0000 (13:06 -0400)] 
Release notes for 6.0.3

6 years agoBump version of twisted to pick up security fix 2687/head
Ben Darnell [Sun, 23 Jun 2019 22:40:37 +0000 (18:40 -0400)] 
Bump version of twisted to pick up security fix

6 years agoMerge pull request #2686 from bdarnell/docs-py38-windows
Ben Darnell [Sat, 22 Jun 2019 18:50:36 +0000 (14:50 -0400)] 
Merge pull request #2686 from bdarnell/docs-py38-windows

docs: Add notice about WindowsSelectorEventLoop on py38

6 years agodocs: Add notice about WindowsSelectorEventLoop on py38 2686/head
Ben Darnell [Sat, 22 Jun 2019 18:39:38 +0000 (14:39 -0400)] 
docs: Add notice about WindowsSelectorEventLoop on py38

Fixes #2608

6 years agoMerge pull request #2684 from bdarnell/socket-error
Ben Darnell [Sat, 22 Jun 2019 17:08:36 +0000 (13:08 -0400)] 
Merge pull request #2684 from bdarnell/socket-error

netutil: Ignore EADDRNOTAVAIL when binding to localhost ipv6

6 years agotest: Skip test_source_port_fail when running as root 2684/head
Ben Darnell [Sat, 22 Jun 2019 16:50:07 +0000 (12:50 -0400)] 
test: Skip test_source_port_fail when running as root

Root is always allowed to bind to low port numbers, so we can't
simulate failure in this case. This is the last remaining failure when
running tests in docker.

6 years agonetutil: Ignore EADDRNOTAVAIL when binding to localhost ipv6
Ben Darnell [Sat, 22 Jun 2019 16:45:57 +0000 (12:45 -0400)] 
netutil: Ignore EADDRNOTAVAIL when binding to localhost ipv6

This happens in docker with default configurations and is generally
harmless.

Fixes #2274

6 years ago*: Modernize IO error handling
Ben Darnell [Sat, 22 Jun 2019 15:38:50 +0000 (11:38 -0400)] 
*: Modernize IO error handling

Where possible, replace use of errno with the exception hierarchy
available since python 3.3. Remove explicit handling of EINTR which
has been automatic since python 3.5

6 years agoMerge pull request #2683 from bdarnell/cancelledexception-py38
Ben Darnell [Sat, 22 Jun 2019 14:33:37 +0000 (10:33 -0400)] 
Merge pull request #2683 from bdarnell/cancelledexception-py38

gen: Adapt to py38 CancelledError changes

6 years agogen: Clean up docs for with_timeout 2683/head
Ben Darnell [Sat, 22 Jun 2019 13:42:09 +0000 (09:42 -0400)] 
gen: Clean up docs for with_timeout

Mark CancelledError change as 6.0.3

6 years agoci: Re-enable nightly python
Ben Darnell [Sat, 22 Jun 2019 00:42:11 +0000 (20:42 -0400)] 
ci: Re-enable nightly python

Fixes #2677

6 years agolocks: Remove redundant CancelledError handling
Ben Darnell [Sat, 22 Jun 2019 00:32:39 +0000 (20:32 -0400)] 
locks: Remove redundant CancelledError handling

CancelledError is now always considered "quiet" (and
concurrent.futures.CancelledError is no longer the same as
asyncio.CancelledError).

6 years agoMerge pull request #2681 from encukou/gen-ignore-cancel
Ben Darnell [Sat, 22 Jun 2019 13:36:43 +0000 (09:36 -0400)] 
Merge pull request #2681 from encukou/gen-ignore-cancel

gen.with_timeout: Don't log CancelledError after timeout

6 years agoFix ReST syntax 2681/head
Petr Viktorin [Fri, 21 Jun 2019 11:52:04 +0000 (13:52 +0200)] 
Fix ReST syntax

6 years agogen.with_timeout: Don't log CancelledError after timeout
Petr Viktorin [Wed, 19 Jun 2019 16:09:17 +0000 (18:09 +0200)] 
gen.with_timeout: Don't log CancelledError after timeout

See also: commit a237a995a1d54ad6e07c1ecdf5103ff8f45073b5

6 years agomypy: Enable no_implicit_optional
Robin Roth [Mon, 17 Jun 2019 00:21:13 +0000 (02:21 +0200)] 
mypy: Enable no_implicit_optional

"Implicit-optional" mode is on by default, but that default is intended to change in the indefinite future (python/peps#689, python/typing#275). Go ahead and change to the future explicit use of Optional.

6 years agoMerge pull request #2679 from ploxiln/curl_no_decompress
Ben Darnell [Sun, 16 Jun 2019 14:06:57 +0000 (10:06 -0400)] 
Merge pull request #2679 from ploxiln/curl_no_decompress

curl_httpclient: fix disabled decompress_response

6 years agotests: run test_gzip for curl_httpclient also 2679/head
Pierce Lopez [Fri, 14 Jun 2019 03:00:06 +0000 (23:00 -0400)] 
tests: run test_gzip for curl_httpclient also

move simple_httpclient test_gzip to the shared httpclient tests,
to test the decompress_response option for curl_httpclient as well

6 years agocurl_httpclient: fix disabled decompress_response
Pierce Lopez [Wed, 12 Jun 2019 19:34:02 +0000 (15:34 -0400)] 
curl_httpclient: fix disabled decompress_response

by setting None (NULL) instead of "none" for ENCODING

reported by Andrey Oparin <andrey@edsd.com>

6 years agoiostream: check that stream is open before trying to read (#2670)
Zachary Sailer [Sun, 9 Jun 2019 21:15:31 +0000 (14:15 -0700)] 
iostream: check that stream is open before trying to read (#2670)

6 years agoMerge pull request #2673 from ploxiln/docs_build_quickfix
Ben Darnell [Sun, 9 Jun 2019 21:11:13 +0000 (17:11 -0400)] 
Merge pull request #2673 from ploxiln/docs_build_quickfix

docs: conflict between sphinx-2.1, sphinxcontrib-asyncio

6 years agotests: allow failure on python nightly 2673/head
Pierce Lopez [Sat, 8 Jun 2019 19:10:26 +0000 (15:10 -0400)] 
tests: allow failure on python nightly

seems to be due to a bunch of asyncio.exceptions.CancelledError

6 years agoRevert "docs: remove sphinxcontrib-asyncio"
Pierce Lopez [Sat, 8 Jun 2019 19:10:12 +0000 (15:10 -0400)] 
Revert "docs: remove sphinxcontrib-asyncio"

This reverts commit 71494a4db76b3ae458e5757d741bdd1aac255640.

6 years agodocs: remove sphinxcontrib-asyncio
Pierce Lopez [Sat, 8 Jun 2019 19:02:57 +0000 (15:02 -0400)] 
docs: remove sphinxcontrib-asyncio

no longer needed since Sphinx-2.1 (and effectively conflicts with it)

6 years agodocs: build with sphinx < 2.1
Pierce Lopez [Sat, 8 Jun 2019 18:44:11 +0000 (14:44 -0400)] 
docs: build with sphinx < 2.1

sphinx 2.1 adds an ":async:" option for py:method:: and py:function::
and it does not seem to interact well with sphinxcontrib-asyncio

6 years agoMerge pull request #2653 from bdarnell/twisted-install
Ben Darnell [Sun, 5 May 2019 17:34:29 +0000 (13:34 -0400)] 
Merge pull request #2653 from bdarnell/twisted-install

twisted: Restore the install() function

6 years agoMerge pull request #2654 from bdarnell/deps
Ben Darnell [Sun, 5 May 2019 17:34:19 +0000 (13:34 -0400)] 
Merge pull request #2654 from bdarnell/deps

Bump dependency versions, including mypy

6 years agotwisted: Restore the install() function 2653/head
Ben Darnell [Sun, 5 May 2019 15:50:34 +0000 (11:50 -0400)] 
twisted: Restore the install() function

This function had more usage than I was aware of and we can preserve
the old behavior by making it an alias for asyncioreactor.install.

Fixes #2636

6 years agodeps: Bump mypy to 0.701 2654/head
Ben Darnell [Sun, 5 May 2019 17:05:34 +0000 (13:05 -0400)] 
deps: Bump mypy to 0.701

6 years agomaint: Bump maintainer requirements.txt versions
Ben Darnell [Sun, 5 May 2019 16:39:37 +0000 (12:39 -0400)] 
maint: Bump maintainer requirements.txt versions

Drop autopep8, add sphinxcontrib-asyncio

6 years agoMerge pull request #2646 from m-burst/patch-1
Ben Darnell [Sat, 4 May 2019 18:24:05 +0000 (14:24 -0400)] 
Merge pull request #2646 from m-burst/patch-1

Speedup headers parsing

6 years agoSpeedup headers parsing 2646/head
Mikhail Burshteyn [Sat, 4 May 2019 08:16:18 +0000 (11:16 +0300)] 
Speedup headers parsing

Replace `_CRLF_RE.split(headers)` with a simple `headers.split('\n')` with an additional check for `'\r'` in each line.
Add benchmark to measure performance impact of the change.
The benchmark results are as follows:
* split only: ~3x faster on CPython, 14-18x faster on PyPy
* full headers parse: ~1.3x faster on CPython, ~3-4.5x faster on PyPy

6 years agoMerge pull request #2649 from javabrett/2648-LogFormatter-CRITICAL-color
Ben Darnell [Mon, 29 Apr 2019 00:06:05 +0000 (20:06 -0400)] 
Merge pull request #2649 from javabrett/2648-LogFormatter-CRITICAL-color

Added color for logging.CRITICAL = 5 (Magenta).