Mon Apr 9 10:50:22 2018 UTC ()
py-h11: updated to 0.8.0

v0.8.0:

Backwards incompatible changes:
h11 now performs stricter validation on outgoing header names and header values: illegal characters are now rejected (example: you can't put a newline into an HTTP header), and header values with leading/trailing whitespace are also rejected (previously h11 would silently discard the whitespace). All these checks were already performed on incoming headers; this just extends that to outgoing headers.
New features:
New method :meth:Connection.send_failed, to notify a :class:Connection object when data returned from :meth:Connection.send was not sent.

Bug fixes:
Make sure that when computing the framing headers for HEAD responses, we produce the same results as we would for the corresponding GET.
Error out if a request has multiple Host: headers.
Send the Host: header first, as recommended by RFC 7230.
The Expect: header is case-insensitive, so use case-insensitive matching when looking for 100-continue.

Other changes:
Better error messages in several cases.
Provide correct error_status_hint in exception raised when encountering an invalid Transfer-Encoding header.
For better compatibility with broken servers, h11 now tolerates responses where the reason phrase is missing (not just empty).
Various optimizations and documentation improvements.


(adam)
diff -r1.2 -r1.3 pkgsrc/www/py-h11/Makefile
diff -r1.1 -r1.2 pkgsrc/www/py-h11/PLIST
diff -r1.1 -r1.2 pkgsrc/www/py-h11/distinfo

cvs diff -r1.2 -r1.3 pkgsrc/www/py-h11/Makefile (switch to unified diff)

--- pkgsrc/www/py-h11/Makefile 2018/02/27 06:58:28 1.2
+++ pkgsrc/www/py-h11/Makefile 2018/04/09 10:50:22 1.3
@@ -1,17 +1,16 @@ @@ -1,17 +1,16 @@
1# $NetBSD: Makefile,v 1.2 2018/02/27 06:58:28 adam Exp $ 1# $NetBSD: Makefile,v 1.3 2018/04/09 10:50:22 adam Exp $
2 2
3DISTNAME= h11-0.7.0 3DISTNAME= h11-0.8.0
4PKGNAME= ${PYPKGPREFIX}-${DISTNAME} 4PKGNAME= ${PYPKGPREFIX}-${DISTNAME}
5CATEGORIES= www python 5CATEGORIES= www python
6MASTER_SITES= ${MASTER_SITE_PYPI:=h/h11/} 6MASTER_SITES= ${MASTER_SITE_PYPI:=h/h11/}
7EXTRACT_SUFX= .zip 
8 7
9MAINTAINER= pkgsrc-users@NetBSD.org 8MAINTAINER= pkgsrc-users@NetBSD.org
10HOMEPAGE= https://github.com/njsmith/h11 9HOMEPAGE= https://github.com/njsmith/h11
11COMMENT= Pure-Python, bring-your-own-I/O implementation of HTTP/1.1 10COMMENT= Pure-Python, bring-your-own-I/O implementation of HTTP/1.1
12LICENSE= mit 11LICENSE= mit
13 12
14USE_LANGUAGES= # none 13USE_LANGUAGES= # none
15 14
16.include "../../lang/python/egg.mk" 15.include "../../lang/python/egg.mk"
17.include "../../mk/bsd.pkg.mk" 16.include "../../mk/bsd.pkg.mk"

cvs diff -r1.1 -r1.2 pkgsrc/www/py-h11/PLIST (switch to unified diff)

--- pkgsrc/www/py-h11/PLIST 2018/02/26 12:06:13 1.1
+++ pkgsrc/www/py-h11/PLIST 2018/04/09 10:50:22 1.2
@@ -1,69 +1,72 @@ @@ -1,69 +1,72 @@
1@comment $NetBSD: PLIST,v 1.1 2018/02/26 12:06:13 leot Exp $ 1@comment $NetBSD: PLIST,v 1.2 2018/04/09 10:50:22 adam Exp $
2${PYSITELIB}/${EGG_INFODIR}/PKG-INFO 2${PYSITELIB}/${EGG_INFODIR}/PKG-INFO
3${PYSITELIB}/${EGG_INFODIR}/SOURCES.txt 3${PYSITELIB}/${EGG_INFODIR}/SOURCES.txt
4${PYSITELIB}/${EGG_INFODIR}/dependency_links.txt 4${PYSITELIB}/${EGG_INFODIR}/dependency_links.txt
5${PYSITELIB}/${EGG_INFODIR}/top_level.txt 5${PYSITELIB}/${EGG_INFODIR}/top_level.txt
6${PYSITELIB}/h11/__init__.py 6${PYSITELIB}/h11/__init__.py
7${PYSITELIB}/h11/__init__.pyc 7${PYSITELIB}/h11/__init__.pyc
8${PYSITELIB}/h11/__init__.pyo 8${PYSITELIB}/h11/__init__.pyo
 9${PYSITELIB}/h11/_abnf.py
 10${PYSITELIB}/h11/_abnf.pyc
 11${PYSITELIB}/h11/_abnf.pyo
9${PYSITELIB}/h11/_connection.py 12${PYSITELIB}/h11/_connection.py
10${PYSITELIB}/h11/_connection.pyc 13${PYSITELIB}/h11/_connection.pyc
11${PYSITELIB}/h11/_connection.pyo 14${PYSITELIB}/h11/_connection.pyo
12${PYSITELIB}/h11/_events.py 15${PYSITELIB}/h11/_events.py
13${PYSITELIB}/h11/_events.pyc 16${PYSITELIB}/h11/_events.pyc
14${PYSITELIB}/h11/_events.pyo 17${PYSITELIB}/h11/_events.pyo
15${PYSITELIB}/h11/_headers.py 18${PYSITELIB}/h11/_headers.py
16${PYSITELIB}/h11/_headers.pyc 19${PYSITELIB}/h11/_headers.pyc
17${PYSITELIB}/h11/_headers.pyo 20${PYSITELIB}/h11/_headers.pyo
18${PYSITELIB}/h11/_readers.py 21${PYSITELIB}/h11/_readers.py
19${PYSITELIB}/h11/_readers.pyc 22${PYSITELIB}/h11/_readers.pyc
20${PYSITELIB}/h11/_readers.pyo 23${PYSITELIB}/h11/_readers.pyo
21${PYSITELIB}/h11/_receivebuffer.py 24${PYSITELIB}/h11/_receivebuffer.py
22${PYSITELIB}/h11/_receivebuffer.pyc 25${PYSITELIB}/h11/_receivebuffer.pyc
23${PYSITELIB}/h11/_receivebuffer.pyo 26${PYSITELIB}/h11/_receivebuffer.pyo
24${PYSITELIB}/h11/_state.py 27${PYSITELIB}/h11/_state.py
25${PYSITELIB}/h11/_state.pyc 28${PYSITELIB}/h11/_state.pyc
26${PYSITELIB}/h11/_state.pyo 29${PYSITELIB}/h11/_state.pyo
27${PYSITELIB}/h11/_util.py 30${PYSITELIB}/h11/_util.py
28${PYSITELIB}/h11/_util.pyc 31${PYSITELIB}/h11/_util.pyc
29${PYSITELIB}/h11/_util.pyo 32${PYSITELIB}/h11/_util.pyo
30${PYSITELIB}/h11/_version.py 33${PYSITELIB}/h11/_version.py
31${PYSITELIB}/h11/_version.pyc 34${PYSITELIB}/h11/_version.pyc
32${PYSITELIB}/h11/_version.pyo 35${PYSITELIB}/h11/_version.pyo
33${PYSITELIB}/h11/_writers.py 36${PYSITELIB}/h11/_writers.py
34${PYSITELIB}/h11/_writers.pyc 37${PYSITELIB}/h11/_writers.pyc
35${PYSITELIB}/h11/_writers.pyo 38${PYSITELIB}/h11/_writers.pyo
36${PYSITELIB}/h11/tests/__init__.py 39${PYSITELIB}/h11/tests/__init__.py
37${PYSITELIB}/h11/tests/__init__.pyc 40${PYSITELIB}/h11/tests/__init__.pyc
38${PYSITELIB}/h11/tests/__init__.pyo 41${PYSITELIB}/h11/tests/__init__.pyo
39${PYSITELIB}/h11/tests/data/test-file 42${PYSITELIB}/h11/tests/data/test-file
40${PYSITELIB}/h11/tests/helpers.py 43${PYSITELIB}/h11/tests/helpers.py
41${PYSITELIB}/h11/tests/helpers.pyc 44${PYSITELIB}/h11/tests/helpers.pyc
42${PYSITELIB}/h11/tests/helpers.pyo 45${PYSITELIB}/h11/tests/helpers.pyo
43${PYSITELIB}/h11/tests/test_against_stdlib_http.py 46${PYSITELIB}/h11/tests/test_against_stdlib_http.py
44${PYSITELIB}/h11/tests/test_against_stdlib_http.pyc 47${PYSITELIB}/h11/tests/test_against_stdlib_http.pyc
45${PYSITELIB}/h11/tests/test_against_stdlib_http.pyo 48${PYSITELIB}/h11/tests/test_against_stdlib_http.pyo
46${PYSITELIB}/h11/tests/test_connection.py 49${PYSITELIB}/h11/tests/test_connection.py
47${PYSITELIB}/h11/tests/test_connection.pyc 50${PYSITELIB}/h11/tests/test_connection.pyc
48${PYSITELIB}/h11/tests/test_connection.pyo 51${PYSITELIB}/h11/tests/test_connection.pyo
49${PYSITELIB}/h11/tests/test_events.py 52${PYSITELIB}/h11/tests/test_events.py
50${PYSITELIB}/h11/tests/test_events.pyc 53${PYSITELIB}/h11/tests/test_events.pyc
51${PYSITELIB}/h11/tests/test_events.pyo 54${PYSITELIB}/h11/tests/test_events.pyo
52${PYSITELIB}/h11/tests/test_headers.py 55${PYSITELIB}/h11/tests/test_headers.py
53${PYSITELIB}/h11/tests/test_headers.pyc 56${PYSITELIB}/h11/tests/test_headers.pyc
54${PYSITELIB}/h11/tests/test_headers.pyo 57${PYSITELIB}/h11/tests/test_headers.pyo
55${PYSITELIB}/h11/tests/test_helpers.py 58${PYSITELIB}/h11/tests/test_helpers.py
56${PYSITELIB}/h11/tests/test_helpers.pyc 59${PYSITELIB}/h11/tests/test_helpers.pyc
57${PYSITELIB}/h11/tests/test_helpers.pyo 60${PYSITELIB}/h11/tests/test_helpers.pyo
58${PYSITELIB}/h11/tests/test_io.py 61${PYSITELIB}/h11/tests/test_io.py
59${PYSITELIB}/h11/tests/test_io.pyc 62${PYSITELIB}/h11/tests/test_io.pyc
60${PYSITELIB}/h11/tests/test_io.pyo 63${PYSITELIB}/h11/tests/test_io.pyo
61${PYSITELIB}/h11/tests/test_receivebuffer.py 64${PYSITELIB}/h11/tests/test_receivebuffer.py
62${PYSITELIB}/h11/tests/test_receivebuffer.pyc 65${PYSITELIB}/h11/tests/test_receivebuffer.pyc
63${PYSITELIB}/h11/tests/test_receivebuffer.pyo 66${PYSITELIB}/h11/tests/test_receivebuffer.pyo
64${PYSITELIB}/h11/tests/test_state.py 67${PYSITELIB}/h11/tests/test_state.py
65${PYSITELIB}/h11/tests/test_state.pyc 68${PYSITELIB}/h11/tests/test_state.pyc
66${PYSITELIB}/h11/tests/test_state.pyo 69${PYSITELIB}/h11/tests/test_state.pyo
67${PYSITELIB}/h11/tests/test_util.py 70${PYSITELIB}/h11/tests/test_util.py
68${PYSITELIB}/h11/tests/test_util.pyc 71${PYSITELIB}/h11/tests/test_util.pyc
69${PYSITELIB}/h11/tests/test_util.pyo 72${PYSITELIB}/h11/tests/test_util.pyo

cvs diff -r1.1 -r1.2 pkgsrc/www/py-h11/distinfo (switch to unified diff)

--- pkgsrc/www/py-h11/distinfo 2018/02/26 12:06:13 1.1
+++ pkgsrc/www/py-h11/distinfo 2018/04/09 10:50:22 1.2
@@ -1,6 +1,6 @@ @@ -1,6 +1,6 @@
1$NetBSD: distinfo,v 1.1 2018/02/26 12:06:13 leot Exp $ 1$NetBSD: distinfo,v 1.2 2018/04/09 10:50:22 adam Exp $
2 2
3SHA1 (h11-0.7.0.zip) = 82dda1ecde1d8c2e5056fe329c177a8a62d13772 3SHA1 (h11-0.8.0.tar.gz) = 2c4ef9c92e02263899eeeb4cc658b5b084ba7457
4RMD160 (h11-0.7.0.zip) = 549b548f195333573f7b3a6f4157af33303b0b27 4RMD160 (h11-0.8.0.tar.gz) = 78f16e2bd68f97165cc07b43bc32bef9f74a5eb6
5SHA512 (h11-0.7.0.zip) = abf9b8f7f12870804539049c3bfebbbe476e394636aed9967aa725d501fff983f28c7f14b4b882c17914d00fe3e74417ff8922128d0e4e07bf042a7db6d0b100 5SHA512 (h11-0.8.0.tar.gz) = edd440dd74c03ce4fb7fd9e6b88e7c9550eb7c50b70676b506a8dafaf1469d9830de01300536128f0e7c61ae09d5256d15875dd5e6a9b99b89470bf70ee343b8
6Size (h11-0.7.0.zip) = 105979 bytes 6Size (h11-0.8.0.tar.gz) = 92722 bytes