ngh2 0.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- ngh2-0.1.0/.agents/skills/ngh2-audit/SKILL.md +56 -0
- ngh2-0.1.0/.agents/skills/ngh2-audit/agents/openai.yaml +4 -0
- ngh2-0.1.0/.agents/skills/ngh2-implementation/SKILL.md +51 -0
- ngh2-0.1.0/.agents/skills/ngh2-implementation/agents/openai.yaml +4 -0
- ngh2-0.1.0/.agents/skills/ngh2-knowledge/SKILL.md +59 -0
- ngh2-0.1.0/.agents/skills/ngh2-knowledge/agents/openai.yaml +4 -0
- ngh2-0.1.0/.github/dependabot.yml +12 -0
- ngh2-0.1.0/.github/workflows/ci.yml +148 -0
- ngh2-0.1.0/.github/workflows/release.yml +121 -0
- ngh2-0.1.0/.gitignore +47 -0
- ngh2-0.1.0/.gitmodules +3 -0
- ngh2-0.1.0/.pre-commit-config.yaml +32 -0
- ngh2-0.1.0/.python-version +1 -0
- ngh2-0.1.0/AGENTS.md +79 -0
- ngh2-0.1.0/CHANGELOG.md +15 -0
- ngh2-0.1.0/CMakeLists.txt +49 -0
- ngh2-0.1.0/CONTRIBUTING.md +77 -0
- ngh2-0.1.0/LICENSE +18 -0
- ngh2-0.1.0/PKG-INFO +175 -0
- ngh2-0.1.0/README.md +148 -0
- ngh2-0.1.0/SECURITY.md +17 -0
- ngh2-0.1.0/benchmarks/compare_h2.py +315 -0
- ngh2-0.1.0/benchmarks/render_results.py +183 -0
- ngh2-0.1.0/docs/assets/ngh2.svg +31 -0
- ngh2-0.1.0/docs/assets/python-benchmark.json +1 -0
- ngh2-0.1.0/docs/assets/python-benchmark.svg +60 -0
- ngh2-0.1.0/docs/knowledge/README.md +37 -0
- ngh2-0.1.0/docs/knowledge/engineering/dependency-licenses.md +152 -0
- ngh2-0.1.0/docs/knowledge/engineering/language-api.md +190 -0
- ngh2-0.1.0/docs/knowledge/protocol/libnghttp2.md +277 -0
- ngh2-0.1.0/docs/knowledge/python-native/binding-tooling.md +434 -0
- ngh2-0.1.0/docs/knowledge/python-native/reference-bindings.md +351 -0
- ngh2-0.1.0/pyproject.toml +136 -0
- ngh2-0.1.0/src/ngh2/__init__.py +85 -0
- ngh2-0.1.0/src/ngh2/_core.pyi +122 -0
- ngh2-0.1.0/src/ngh2/_core.pyx +2091 -0
- ngh2-0.1.0/src/ngh2/_nghttp2.pxd +382 -0
- ngh2-0.1.0/src/ngh2/_version.py +1 -0
- ngh2-0.1.0/src/ngh2/config.py +66 -0
- ngh2-0.1.0/src/ngh2/enums.py +99 -0
- ngh2-0.1.0/src/ngh2/events.pyi +202 -0
- ngh2-0.1.0/src/ngh2/events.pyx +346 -0
- ngh2-0.1.0/src/ngh2/exceptions.py +42 -0
- ngh2-0.1.0/src/ngh2/py.typed +0 -0
- ngh2-0.1.0/src/ngh2/types.py +34 -0
- ngh2-0.1.0/tests/interop/README.md +34 -0
- ngh2-0.1.0/tests/interop/h2spec_server.py +116 -0
- ngh2-0.1.0/tests/test_boundaries.py +126 -0
- ngh2-0.1.0/tests/test_connection.py +265 -0
- ngh2-0.1.0/tests/test_controls.py +253 -0
- ngh2-0.1.0/tests/test_core.py +185 -0
- ngh2-0.1.0/tests/test_interop_h2spec.py +40 -0
- ngh2-0.1.0/tests/test_interop_hyper_h2.py +99 -0
- ngh2-0.1.0/tests/test_lifecycle.py +175 -0
- ngh2-0.1.0/tests/test_limits.py +130 -0
- ngh2-0.1.0/uv.lock +654 -0
- ngh2-0.1.0/vendor/nghttp2/.clang-format +277 -0
- ngh2-0.1.0/vendor/nghttp2/.github/dependabot.yml +10 -0
- ngh2-0.1.0/vendor/nghttp2/.github/workflows/android.yml +24 -0
- ngh2-0.1.0/vendor/nghttp2/.github/workflows/build.yml +701 -0
- ngh2-0.1.0/vendor/nghttp2/.github/workflows/docker.yaml +24 -0
- ngh2-0.1.0/vendor/nghttp2/.github/workflows/fuzz.yml +31 -0
- ngh2-0.1.0/vendor/nghttp2/.github/workflows/stale.yaml +22 -0
- ngh2-0.1.0/vendor/nghttp2/.gitignore +64 -0
- ngh2-0.1.0/vendor/nghttp2/.gitmodules +13 -0
- ngh2-0.1.0/vendor/nghttp2/AUTHORS +178 -0
- ngh2-0.1.0/vendor/nghttp2/CMakeLists.txt +560 -0
- ngh2-0.1.0/vendor/nghttp2/CMakeOptions.txt +30 -0
- ngh2-0.1.0/vendor/nghttp2/CONTRIBUTION +18 -0
- ngh2-0.1.0/vendor/nghttp2/COPYING +23 -0
- ngh2-0.1.0/vendor/nghttp2/ChangeLog +0 -0
- ngh2-0.1.0/vendor/nghttp2/Dockerfile.android +124 -0
- ngh2-0.1.0/vendor/nghttp2/LICENSE +1 -0
- ngh2-0.1.0/vendor/nghttp2/Makefile.am +65 -0
- ngh2-0.1.0/vendor/nghttp2/NEWS +0 -0
- ngh2-0.1.0/vendor/nghttp2/README +1 -0
- ngh2-0.1.0/vendor/nghttp2/README.rst +1465 -0
- ngh2-0.1.0/vendor/nghttp2/SECURITY.md +31 -0
- ngh2-0.1.0/vendor/nghttp2/android-config +37 -0
- ngh2-0.1.0/vendor/nghttp2/android-env +40 -0
- ngh2-0.1.0/vendor/nghttp2/author.py +52 -0
- ngh2-0.1.0/vendor/nghttp2/bpf/CMakeLists.txt +13 -0
- ngh2-0.1.0/vendor/nghttp2/bpf/Makefile.am +40 -0
- ngh2-0.1.0/vendor/nghttp2/bpf/reuseport_kern.c +579 -0
- ngh2-0.1.0/vendor/nghttp2/cmake/ExtractValidFlags.cmake +31 -0
- ngh2-0.1.0/vendor/nghttp2/cmake/FindJansson.cmake +40 -0
- ngh2-0.1.0/vendor/nghttp2/cmake/FindJemalloc.cmake +40 -0
- ngh2-0.1.0/vendor/nghttp2/cmake/FindLibbpf.cmake +32 -0
- ngh2-0.1.0/vendor/nghttp2/cmake/FindLibbrotlidec.cmake +36 -0
- ngh2-0.1.0/vendor/nghttp2/cmake/FindLibbrotlienc.cmake +36 -0
- ngh2-0.1.0/vendor/nghttp2/cmake/FindLibcares.cmake +46 -0
- ngh2-0.1.0/vendor/nghttp2/cmake/FindLibev.cmake +38 -0
- ngh2-0.1.0/vendor/nghttp2/cmake/FindLibevent.cmake +97 -0
- ngh2-0.1.0/vendor/nghttp2/cmake/FindLibnghttp3.cmake +41 -0
- ngh2-0.1.0/vendor/nghttp2/cmake/FindLibngtcp2.cmake +41 -0
- ngh2-0.1.0/vendor/nghttp2/cmake/FindLibngtcp2_crypto_libressl.cmake +43 -0
- ngh2-0.1.0/vendor/nghttp2/cmake/FindLibngtcp2_crypto_ossl.cmake +43 -0
- ngh2-0.1.0/vendor/nghttp2/cmake/FindLibngtcp2_crypto_quictls.cmake +43 -0
- ngh2-0.1.0/vendor/nghttp2/cmake/FindLibngtcp2_crypto_wolfssl.cmake +43 -0
- ngh2-0.1.0/vendor/nghttp2/cmake/FindSystemd.cmake +19 -0
- ngh2-0.1.0/vendor/nghttp2/cmake/FindWolfSSL.cmake +41 -0
- ngh2-0.1.0/vendor/nghttp2/cmake/PickyWarningsC.cmake +162 -0
- ngh2-0.1.0/vendor/nghttp2/cmake/PickyWarningsCXX.cmake +121 -0
- ngh2-0.1.0/vendor/nghttp2/cmake/Version.cmake +11 -0
- ngh2-0.1.0/vendor/nghttp2/cmakeconfig.h.in +116 -0
- ngh2-0.1.0/vendor/nghttp2/configure.ac +1332 -0
- ngh2-0.1.0/vendor/nghttp2/contrib/.gitignore +3 -0
- ngh2-0.1.0/vendor/nghttp2/contrib/CMakeLists.txt +12 -0
- ngh2-0.1.0/vendor/nghttp2/contrib/Makefile.am +51 -0
- ngh2-0.1.0/vendor/nghttp2/contrib/nghttpx-init.in +164 -0
- ngh2-0.1.0/vendor/nghttp2/contrib/nghttpx-logrotate +11 -0
- ngh2-0.1.0/vendor/nghttp2/contrib/nghttpx-upstart.conf.in +8 -0
- ngh2-0.1.0/vendor/nghttp2/contrib/nghttpx.service.in +17 -0
- ngh2-0.1.0/vendor/nghttp2/contrib/tlsticketupdate.go +112 -0
- ngh2-0.1.0/vendor/nghttp2/contrib/usr.sbin.nghttpx +16 -0
- ngh2-0.1.0/vendor/nghttp2/doc/.gitignore +19 -0
- ngh2-0.1.0/vendor/nghttp2/doc/CMakeLists.txt +352 -0
- ngh2-0.1.0/vendor/nghttp2/doc/Makefile.am +382 -0
- ngh2-0.1.0/vendor/nghttp2/doc/README.rst +160 -0
- ngh2-0.1.0/vendor/nghttp2/doc/_exts/rubydomain/LICENSE.rubydomain +28 -0
- ngh2-0.1.0/vendor/nghttp2/doc/_exts/rubydomain/__init__.py +0 -0
- ngh2-0.1.0/vendor/nghttp2/doc/_exts/rubydomain/rubydomain.py +703 -0
- ngh2-0.1.0/vendor/nghttp2/doc/bash_completion/h2load +19 -0
- ngh2-0.1.0/vendor/nghttp2/doc/bash_completion/make_bash_completion.py +75 -0
- ngh2-0.1.0/vendor/nghttp2/doc/bash_completion/nghttp +19 -0
- ngh2-0.1.0/vendor/nghttp2/doc/bash_completion/nghttpd +19 -0
- ngh2-0.1.0/vendor/nghttp2/doc/bash_completion/nghttpx +19 -0
- ngh2-0.1.0/vendor/nghttp2/doc/building-android-binary.rst.in +1 -0
- ngh2-0.1.0/vendor/nghttp2/doc/conf.py.in +252 -0
- ngh2-0.1.0/vendor/nghttp2/doc/contribute.rst.in +1 -0
- ngh2-0.1.0/vendor/nghttp2/doc/docutils.conf +2 -0
- ngh2-0.1.0/vendor/nghttp2/doc/h2load-howto.rst.in +1 -0
- ngh2-0.1.0/vendor/nghttp2/doc/h2load.1 +544 -0
- ngh2-0.1.0/vendor/nghttp2/doc/h2load.1.rst +451 -0
- ngh2-0.1.0/vendor/nghttp2/doc/h2load.h2r +109 -0
- ngh2-0.1.0/vendor/nghttp2/doc/index.rst.in +1 -0
- ngh2-0.1.0/vendor/nghttp2/doc/make.bat +170 -0
- ngh2-0.1.0/vendor/nghttp2/doc/mkapiref.py +343 -0
- ngh2-0.1.0/vendor/nghttp2/doc/nghttp.1 +270 -0
- ngh2-0.1.0/vendor/nghttp2/doc/nghttp.1.rst +216 -0
- ngh2-0.1.0/vendor/nghttp2/doc/nghttp.h2r +4 -0
- ngh2-0.1.0/vendor/nghttp2/doc/nghttp2.h.rst.in +4 -0
- ngh2-0.1.0/vendor/nghttp2/doc/nghttp2ver.h.rst.in +4 -0
- ngh2-0.1.0/vendor/nghttp2/doc/nghttpd.1 +238 -0
- ngh2-0.1.0/vendor/nghttp2/doc/nghttpd.1.rst +188 -0
- ngh2-0.1.0/vendor/nghttp2/doc/nghttpd.h2r +4 -0
- ngh2-0.1.0/vendor/nghttp2/doc/nghttpx-howto.rst.in +1 -0
- ngh2-0.1.0/vendor/nghttp2/doc/nghttpx.1 +2673 -0
- ngh2-0.1.0/vendor/nghttp2/doc/nghttpx.1.rst +2445 -0
- ngh2-0.1.0/vendor/nghttp2/doc/nghttpx.h2r +678 -0
- ngh2-0.1.0/vendor/nghttp2/doc/package_README.rst.in +1 -0
- ngh2-0.1.0/vendor/nghttp2/doc/programmers-guide.rst +507 -0
- ngh2-0.1.0/vendor/nghttp2/doc/sources/building-android-binary.rst +127 -0
- ngh2-0.1.0/vendor/nghttp2/doc/sources/contribute.rst +56 -0
- ngh2-0.1.0/vendor/nghttp2/doc/sources/h2load-howto.rst +142 -0
- ngh2-0.1.0/vendor/nghttp2/doc/sources/index.rst +49 -0
- ngh2-0.1.0/vendor/nghttp2/doc/sources/nghttpx-howto.rst +662 -0
- ngh2-0.1.0/vendor/nghttp2/doc/sources/tutorial-client.rst +465 -0
- ngh2-0.1.0/vendor/nghttp2/doc/sources/tutorial-hpack.rst +126 -0
- ngh2-0.1.0/vendor/nghttp2/doc/sources/tutorial-server.rst +578 -0
- ngh2-0.1.0/vendor/nghttp2/doc/tutorial-client.rst.in +6 -0
- ngh2-0.1.0/vendor/nghttp2/doc/tutorial-hpack.rst.in +6 -0
- ngh2-0.1.0/vendor/nghttp2/doc/tutorial-server.rst.in +6 -0
- ngh2-0.1.0/vendor/nghttp2/docker/Dockerfile +92 -0
- ngh2-0.1.0/vendor/nghttp2/docker/README.rst +25 -0
- ngh2-0.1.0/vendor/nghttp2/examples/.gitignore +5 -0
- ngh2-0.1.0/vendor/nghttp2/examples/CMakeLists.txt +37 -0
- ngh2-0.1.0/vendor/nghttp2/examples/Makefile.am +54 -0
- ngh2-0.1.0/vendor/nghttp2/examples/client.c +702 -0
- ngh2-0.1.0/vendor/nghttp2/examples/deflate.c +208 -0
- ngh2-0.1.0/vendor/nghttp2/examples/libevent-client.c +599 -0
- ngh2-0.1.0/vendor/nghttp2/examples/libevent-server.c +788 -0
- ngh2-0.1.0/vendor/nghttp2/fedora/spdylay.spec +75 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/README.rst +33 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/025ca25c8427361ea5498e4c3ba49d20eac5b4332f7b75b8f74bfba5e43f59f8 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/0276779c73bddcebc63b863c23a338b4c827bf6164640ff20a2d64d45a6b3f5a +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/0428d1e3b2364efcc93ffd8fcfff43b378a92c7da44268b9dda2bf32a1178c66 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/06bc5f79b7e68e005bd4382bd3a6c6b1b6005c5f7d5783e99baf2f8f7432d71a +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/09f76550ec065944a5d1d52f5d07b1dd87de1f651f80ef82c2815b0248b7dccd +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/0b39d9df6e1721030667980a41547272ad42377149edcf130b2bf0b76804c61f +2 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/0bb4365b02c05540936f9606ca725770a731e73c2144c7b81953dcc4b4f73c32 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/0d577f6eb853e987b8fdab6ca4615a351ab74bfc75eb0d227acbef6a35bcae39 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/0df702020c019dd33d0643c5a2b9a9637d325c8f38b4cc6d3f808b5b2a4169a9 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/0f8054152149c73e64c9f3e83f97e6585c8a51ec2413e7a2e8dfcc444082a5c5 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/105f72bc9184bf47a857ed84e8c2f917946ec7ef3f4720535478b41e097a798a +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/1368ed7160cc4115e31a8a158af429421570e7363a3b75441edc5d740513b0dc +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/1402c49b963994284b0d429edfac603133e0144dba08836f90b1ae164b328800 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/1468c2cddae629788f6957847b76c09921e984796f6dc482859b119cf4879300 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/14f66ce296f03e52f039f4fad189d3d70aebe70ecb14ffb1ffe2cd5fc5d1e5f0 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/17caaf734401d2d25d09a65432789b45aff588c606536e93824b89739a6d07ab +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/195b4a74a62fabc877052454d935ebc543f4d1305e318ccd2ff407517636bed8 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/1960fc215485486f3e8ab97f853954e6f11c1f4754ccd83b1603b808878cfa76 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/1a56272611761f0687dfb0ea37c900f13f429b750c87e6175b234b881bda6248 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/1d31cd88fae35f2329e201983d11256d2432fcdeb55bfba9634aa88e3794adc6 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/1e27187b10c02fe7e151818ddd0722f69830ac04975ddb5a9d83cdc406cbb678 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/1ecace234d8542fbaab35c7c55330e80d8121a0cff19633a56eba8f2182a59df +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/1f4f3a16f5ad0425e0b38601339096b80a382afa1083a19c4deab11be847502f +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/203a798d4b658be744fe34042038692eaede4d2c1f9e05a27f2410a6e0230132 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/21904e842e90becb56ff9748ae962bb543dd5ca188dabc30897726f87403fbce +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/23df7e0419240a9709b55af68a89c9750332ae5063e36401eae150ce63188fe0 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/245ba702520fa32cf41d994f5d37e4111fe6203bac35b220d50362d5e986aa91 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/274faf343feb9cb44079316401fee50c647552c99c0550ebfd7a3b736e8db9e5 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/2b042a1dfa3aeed6af58c58a4336f1386633bac75dea2c4b64c02541e7320933 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/2d8ec606661a9f12960893aab9a74dd392cbdae104307e8512e5e4113739e93a +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/2e0c8a3ce53e8e3711f781b480efaf9e2526f4ae87c5f5a585d68d6f7f7da13c +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/315e6acba7d715333d0865a8dfc0cd0e7aef8a1f5f420eae3d39067ad78df17d +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/3376a2cdde0b98759f14490881328f80b5d3c942de3b1304a0382923ce896f8f +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/35c2719913a19f197fb6484a34c3574da63554ff06f52377b73a9cfc24eb02ca +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/35ddf0611cd98d025f6a625e7e4a102ba74721a04dfa1811e0968e9a4966d92c +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/37e9eab291d6bca69510354e1d029cbbbb6113071b2bb13fc9646b5a0447d2cf +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/381c81f5e4d1b02de39c4f99f21e9793f6ffc82ae0ef6917a8611e8879e05941 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/38ac32c81952cc832ade7aea13b0740f76898ccbb1da25f2281da76e50c1d04a +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/3e297dd8fcdb50a751c397a505d84e76374b064aa5c71aab33bd9650c9a9d801 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/3e5a57c30a97d3f06a3181f4baf3996053b8572da5f2deee3a636c3bc8dfcc60 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/420b9790375f59a6e8c326391023a0981789c2351817996e0c253bfed708ad82 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/43df3c3af62ddd1393269ffcf964f1897063e81da79c971e8af8c1fefa3e3cab +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/443f39c99e1c9ca1908b54153c480754054a57777f22a00d377d745d78e9d193 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/44f3fc1504a14e693fde420da94f77bf4a44e4e741420291491343f7ae4ecc16 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/4528e6beb34f695f4df8ddbb7ac85f76a91229d9ba675fc9e09fe12f4a497937 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/4534032d57020d2910641561a9f9da021f0fe52ebdbb148ee776ced87bac9b13 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/47c5e9b339f9e7f1dccad5c9f51f211183795660ec81a6bdb5614031d39ebe3a +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/48ca2b3f63206aa8f774c3cb33958a806a1debf3d9ccf7b09c2d31256498cda6 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/4ddbb54259df7ee7ecbdf9f8b4a0e8f7756b9846f2e2add8dd0df825296d993e +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/4e612f3c1dfa468d94bbc3bde202c732b06a9b5f6bc5471c879fa56ec2daa4aa +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/55860c89ef796d41b06b3c0fe60a3e6f90709c6a0e7063a8b4057dafa57c878a +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/5748e7a24e8d9ecb43de7d1e14519f10d8c669a5a2602fc948bc9a80e6114b63 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/5a13c8e09802e07fd3ceee625307fe48ef29bc66641c4f80ed4593bf8b773f88 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/5aa30337198b482522a55c90554c93278034ebacc24792509a32aeba466df4e8 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/5f3ff3c345ade163ba1ba889d60c1995b7fab68ded6ab052814008d990862c23 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/5f88a17509a8843ab761bc8cbcfe1a511670ae1a4a434f3d483f942738933a3e +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/60a288333ea7f01d380f2661d387692063ce2ae73b3e5401b716326967b4ce0c +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/63ae750f5fe9469664b6f79cb48c502c3bfc4cb0a950aeba998a72ea6a3d5b2d +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/67abeaacb21769a9fb521efa7ebdc8d9ff3443ad5892d75dd6d4f7d541713d33 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/6e3b8913d874a18ec3ab9f74d4fab435b7738e1a14d0754fb79229c4bda9f604 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/6fe31187ce1a64bffb0b31ee59618a2ebd483812410e9f8ae5a92fb72ef70885 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/71d3c74882a100eaa5aaf9f62659d3b26bcbb8f2055f1add504f599f9051f61e +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/7232f506e00bee175a3df8d33933fae10c67e501d6cea8e73ce76f4363d0bbea +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/7425039321dcbecb1a1ef28849f277f914a889a54d44c1f2566b6ddd5bc83b4f +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/7487341c630472c46a534223da1173666aaeae9788b144fa2c723204d55cc0a2 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/79207f7d09b6145f3dbfcb9e19835f34e56c7927fda22859e960f5f13bc847a0 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/7a1e1268d329e5f71ebdf74677a6c1a118994d7534d1fb08d631898d67372f5a +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/7c954b010232be9461483803e3e553623d4fc382324d8b8ba53ebf83f0457707 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/7ce8914993956b04baafaad0668e5c26a87a1c4cf70a6566aa0f199fe3c1dc18 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/7d230ff71bac867a9820e75328f893972df210ab75cdb67f620b370ee5cddf45 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/85a985b9011e356e11a24c2d0a01173ea80ccc584b659947b64ffefddab7fada +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/8b165b8b94a9d120edf139fbd63cb6b161131d5722f201f2f4ba0984b46a3ca5 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/8f5fd3dd5c0eb40ceb409c0f7d85086319d4177524fad58dc01743434765902a +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/9223480b7c4b0d1cb95eb33a7a52dc7494b53a0f8a93fbc1816c6c4f347780b0 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/9248ee16c602d45651b0045e9cc4e407fc62ce5688e1c6636f482ea02314c357 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/979b96b7806f61081a48ff556bfbdb3e1c74e04f7d2cf88eab49b0fd89845453 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/97f2f674b859ff1adb2e9548550f07fa8818d1ee8edae39ca50f516a57a12edb +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/9984490c02b1604423a8679caf527d5f10667e0a38790f28f32af61efa930eef +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/9a648e49f93b60cf578c87d187c8acb61d3a638bc30568bdcc6be30fd9defd43 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/9af5c7a8538fb02b0a836b88a40d0b144f11ee98624e3686c0f43684e34e6838 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/9b24f66bc7c47e677e40f8b07b2fd54985ef27c99670bed582ce904569b95702 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/9fc2eee916b1cfb002a487c37e73af29a0fbb29e47bf36839a762bb26fea3ec7 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/9ff0fc476b3d27f5dc9803d38ef10be0d08b5e096630308f0d6f57a6f8ee5d88 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/a46866d1875d0c06ec3ead73ecca531ef0dc92a67a233ebc8d1e2fff79f50a07 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/a71bcbf6a6668aa019d38cc3527d5ecf2f4e538dfedddf34ff484e29d6fd26d1 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/ad0d3509e08424d21d87c64a0969b588dc9281ea98fd744acd9b8bd1daf72225 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/adaa168d63fe063455c1e0c304c9c9ba6b43e13849235339710d6b5f941e80a1 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/aee251ccb027a2676ad1261b48d08b52752a41633279ff2e9e474eebf508250f +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/b5b546cf87a6d23c6f6ee0e44db5b90a4bb23e0558873f159bf09140782989d8 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/b8fffa51391680139ea773ff40a58a1f24e9b1a8c530823d7d12053ec4aabd76 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/b904fd3aa656603b26572deb105290328add76123b4a99ad4e78189e1337ae1b +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/bbda8e26f356aa635f7774ec483a4b493668ca1448948c62f641d176838306d5 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/bc35711cdc43b868c59515211893e7681fef6da4b623392d402fb40736dc1beb +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/bd25bb84dd44c7e09d9e723016c49cc2a868a1bfc007528138a28ea1c0abfda7 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/c23df1d03e3c1039692ea3d9897e41ceb2add1ebdec0937a64321c536eef71f7 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/c2e6cf1692ef3a4bc88af94bb9e6c9011855bbf954c273f45eb3ea97bb491c9a +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/c3b0ea2a8874777b9805018c177382ab3278a019935fa50b3e0d7971c28c40d9 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/c9dfe97833473610816085c5a009696cd5f659f85fc10ef76dc140851ffcc423 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/ca19cba772c047e5e1f229e5de18d06d885b50be9136778b4937437f0d70738d +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/ca6e1239c11d08940c991f77470859ccb4ec9fa5e8c30de7b40521d620b87a1e +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/cb09d2148ae1c8b054cdbafcf3f3e41e75bae978dcfc8886981479d723fc44e9 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/cd35ff680e23f67fe52b722a88c9537bee642b8a7a8a388cb4952f3bf60e64cc +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/cd6d3880ee87c6b716749cb9a30f8faa658ee49f6ce90f3e34df70560a0477ad +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/cd7b24cfe10fc4346a91f04b1a0d0e22054f76bf704db8e19d73cb9bf792a89b +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/cea2c4c70f94e90c4c4a6b63f7c212d2465936090c06ba4db92071a3c247ca11 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/d26a0d653a01c6bf9403e0bc0fa5ea05ea4dd7b163e8d85287b19ff257a88ea7 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/d3dec3f7485c6c3f8b8949db68bd212ef16a7f1f41047e290d14f9cd6dae91a0 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/d43f2a0606841580986981ec0bec10473e79c9097bfd8fd81d1a239f146f31d3 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/d4d5fe38e4bafa733182eb5aaad19a6ff59c8316908b20d3c94cdc29a92964e6 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/d69256403d5d27244080b8b53931aa6bfd4ce95771c748372626414d5c37e105 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/d9b617f62de41c1cb02ff91cef9c3f753d440c75efa489a952fdcd314d27ee1d +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/dc57f64202486572ef99d4ff4970fb339f440867ebedf02eaab75fb555e293cf +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/e11a6036e2c0bde71f3eabac3f98734af2cdcfe3ebb6e02dcce9b7f4c4bcc99a +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/e26ce028366bb4ff566972a945b7fd0035f6dba48d886160fdf1974aae8dee65 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/e35a4d079adfe4d399f026c711940e4917d5dae3dc2723a034f44d2b53a34a11 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/e3666122dbe804ac609c0ae717a9e6aa8bb2842953e4528230a5bcfc3a59c120 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/e59961f75a4cfe33bc4ce9290f938c5bc247c440a2e572ab18021c8223c55bc7 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/e7b11cf0762255ad6741aa3d6e269f8b4bc785089040be666f480464cb13b4df +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/e89af554621f1ce6262d47a68efea1d8d304ae595a094ebc955bceb6d06ed629 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/e9d399b6dc6b7d18bac97e5556875ab6df561f1ca718f1fc716a929d3c706f14 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/eb733425f0fc1f0cf7f74e1c1ef87680a96a1aca613180110df26259eb36c433 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/ec399d3511fa4a30df9b3c51637a357cc1c84d30e3d48bccc9b97564c8a60b73 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/ef73cbf3d98059b13b30db1089ad6af12beea18f895be6f18d42962721d6e3ee +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/efc0f664cf2ebac4e05e6acac77778fe630b278f167321a46d861ac8ad56fd76 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/f139f9c20bcdc6bbe0301c98bdd719b37b4a98fe3b1414b583ddb5dc17f62e3a +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/f5318eb5ea6dcdf630a2ab157dbfa122f6de9b6f4e5a3a036c17f32da3030877 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/f5f4973e9e8fb6fb8834a612a9b8b0419fbae7c0934dda22e61f11556918f1cc +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/f932da1aefb3b8d9918f46bd936130b0d06332ab062a48f41b206ce696428e03 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/fbfa931f27b0173613b0e04af58d8bba7df12c1cd15c404d95680df6fc1cb89e +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/fc30ab2ea532f953350f0de7ff3c0422328c131f4642d30a4c88bdf43bcd8d98 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/fc7e85c3af87f3c0b482cb57fde916a7d8db293427159f3b31bbc23b6b285116 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/fcfcfe84724a9b7c7c8277057b557ab044d24130bd360fe087e9f55bef2cadc6 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/h2spec/ff00f50eada19c5354a579ef7f1af5952ecb2df2423022dd5483d8fede26d6e5 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/nghttp/9c8ed8981065d28ce8a5a04ac6fc7a87ffaf9f9c6ce4323e6e0fefaabb2393cb +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/nghttp/d53b58a8685030918fda36a704db43cdfec99fc1b9de83c195227161f4bdb911 +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/corpus/nghttp/f0a8cacb9f31b53d237628084e3946d556086c9991cce7962e9e69a3eed406aa +0 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/fuzz_frames.cc +160 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/fuzz_target.cc +79 -0
- ngh2-0.1.0/vendor/nghttp2/fuzz/fuzz_target_fdp.cc +99 -0
- ngh2-0.1.0/vendor/nghttp2/genauthoritychartbl.py +32 -0
- ngh2-0.1.0/vendor/nghttp2/gendowncasetbl.py +30 -0
- ngh2-0.1.0/vendor/nghttp2/genheaderfunc.py +48 -0
- ngh2-0.1.0/vendor/nghttp2/genlibtokenlookup.py +143 -0
- ngh2-0.1.0/vendor/nghttp2/genmethodchartbl.py +29 -0
- ngh2-0.1.0/vendor/nghttp2/genmethodfunc.py +52 -0
- ngh2-0.1.0/vendor/nghttp2/gennghttpxfun.py +249 -0
- ngh2-0.1.0/vendor/nghttp2/gennmchartbl.py +28 -0
- ngh2-0.1.0/vendor/nghttp2/genpathchartbl.py +23 -0
- ngh2-0.1.0/vendor/nghttp2/gentokenlookup.py +69 -0
- ngh2-0.1.0/vendor/nghttp2/genvchartbl.py +26 -0
- ngh2-0.1.0/vendor/nghttp2/git-clang-format +484 -0
- ngh2-0.1.0/vendor/nghttp2/go.mod +17 -0
- ngh2-0.1.0/vendor/nghttp2/go.sum +26 -0
- ngh2-0.1.0/vendor/nghttp2/help2rst.py +192 -0
- ngh2-0.1.0/vendor/nghttp2/integration-tests/.gitignore +3 -0
- ngh2-0.1.0/vendor/nghttp2/integration-tests/CMakeLists.txt +45 -0
- ngh2-0.1.0/vendor/nghttp2/integration-tests/Makefile.am +52 -0
- ngh2-0.1.0/vendor/nghttp2/integration-tests/alt-server.crt +21 -0
- ngh2-0.1.0/vendor/nghttp2/integration-tests/alt-server.key +28 -0
- ngh2-0.1.0/vendor/nghttp2/integration-tests/config.go.in +6 -0
- ngh2-0.1.0/vendor/nghttp2/integration-tests/nghttpx_http1_test.go +2002 -0
- ngh2-0.1.0/vendor/nghttp2/integration-tests/nghttpx_http2_test.go +3922 -0
- ngh2-0.1.0/vendor/nghttp2/integration-tests/nghttpx_http3_test.go +412 -0
- ngh2-0.1.0/vendor/nghttp2/integration-tests/req-return.rb +12 -0
- ngh2-0.1.0/vendor/nghttp2/integration-tests/req-set-header.rb +7 -0
- ngh2-0.1.0/vendor/nghttp2/integration-tests/resp-return.rb +12 -0
- ngh2-0.1.0/vendor/nghttp2/integration-tests/resp-set-header.rb +7 -0
- ngh2-0.1.0/vendor/nghttp2/integration-tests/server.crt +21 -0
- ngh2-0.1.0/vendor/nghttp2/integration-tests/server.key +28 -0
- ngh2-0.1.0/vendor/nghttp2/integration-tests/server_tester.go +926 -0
- ngh2-0.1.0/vendor/nghttp2/integration-tests/server_tester_http3.go +91 -0
- ngh2-0.1.0/vendor/nghttp2/integration-tests/setenv.in +14 -0
- ngh2-0.1.0/vendor/nghttp2/lib/.gitignore +3 -0
- ngh2-0.1.0/vendor/nghttp2/lib/CMakeLists.txt +131 -0
- ngh2-0.1.0/vendor/nghttp2/lib/Makefile.am +81 -0
- ngh2-0.1.0/vendor/nghttp2/lib/Makefile.msvc +254 -0
- ngh2-0.1.0/vendor/nghttp2/lib/config.cmake.in +3 -0
- ngh2-0.1.0/vendor/nghttp2/lib/includes/CMakeLists.txt +4 -0
- ngh2-0.1.0/vendor/nghttp2/lib/includes/Makefile.am +26 -0
- ngh2-0.1.0/vendor/nghttp2/lib/includes/nghttp2/nghttp2.h +6878 -0
- ngh2-0.1.0/vendor/nghttp2/lib/includes/nghttp2/nghttp2ver.h.in +42 -0
- ngh2-0.1.0/vendor/nghttp2/lib/libnghttp2.pc.in +33 -0
- ngh2-0.1.0/vendor/nghttp2/lib/nghttp2_alpn.c +72 -0
- ngh2-0.1.0/vendor/nghttp2/lib/nghttp2_alpn.h +34 -0
- ngh2-0.1.0/vendor/nghttp2/lib/nghttp2_buf.c +527 -0
- ngh2-0.1.0/vendor/nghttp2/lib/nghttp2_buf.h +412 -0
- ngh2-0.1.0/vendor/nghttp2/lib/nghttp2_callbacks.c +208 -0
- ngh2-0.1.0/vendor/nghttp2/lib/nghttp2_callbacks.h +157 -0
- ngh2-0.1.0/vendor/nghttp2/lib/nghttp2_debug.c +60 -0
- ngh2-0.1.0/vendor/nghttp2/lib/nghttp2_debug.h +43 -0
- ngh2-0.1.0/vendor/nghttp2/lib/nghttp2_extpri.c +41 -0
- ngh2-0.1.0/vendor/nghttp2/lib/nghttp2_extpri.h +65 -0
- ngh2-0.1.0/vendor/nghttp2/lib/nghttp2_frame.c +1224 -0
- ngh2-0.1.0/vendor/nghttp2/lib/nghttp2_frame.h +634 -0
- ngh2-0.1.0/vendor/nghttp2/lib/nghttp2_hd.c +2391 -0
- ngh2-0.1.0/vendor/nghttp2/lib/nghttp2_hd.h +442 -0
- ngh2-0.1.0/vendor/nghttp2/lib/nghttp2_hd_huffman.c +147 -0
- ngh2-0.1.0/vendor/nghttp2/lib/nghttp2_hd_huffman.h +82 -0
- ngh2-0.1.0/vendor/nghttp2/lib/nghttp2_hd_huffman_data.c +4980 -0
- ngh2-0.1.0/vendor/nghttp2/lib/nghttp2_helper.c +805 -0
- ngh2-0.1.0/vendor/nghttp2/lib/nghttp2_helper.h +153 -0
- ngh2-0.1.0/vendor/nghttp2/lib/nghttp2_http.c +709 -0
- ngh2-0.1.0/vendor/nghttp2/lib/nghttp2_http.h +100 -0
- ngh2-0.1.0/vendor/nghttp2/lib/nghttp2_int.h +61 -0
- ngh2-0.1.0/vendor/nghttp2/lib/nghttp2_map.c +363 -0
- ngh2-0.1.0/vendor/nghttp2/lib/nghttp2_map.h +128 -0
- ngh2-0.1.0/vendor/nghttp2/lib/nghttp2_mem.c +74 -0
- ngh2-0.1.0/vendor/nghttp2/lib/nghttp2_mem.h +45 -0
- ngh2-0.1.0/vendor/nghttp2/lib/nghttp2_net.h +91 -0
- ngh2-0.1.0/vendor/nghttp2/lib/nghttp2_option.c +164 -0
- ngh2-0.1.0/vendor/nghttp2/lib/nghttp2_option.h +163 -0
- ngh2-0.1.0/vendor/nghttp2/lib/nghttp2_outbound_item.c +168 -0
- ngh2-0.1.0/vendor/nghttp2/lib/nghttp2_outbound_item.h +197 -0
- ngh2-0.1.0/vendor/nghttp2/lib/nghttp2_pq.c +183 -0
- ngh2-0.1.0/vendor/nghttp2/lib/nghttp2_pq.h +124 -0
- ngh2-0.1.0/vendor/nghttp2/lib/nghttp2_priority_spec.c +52 -0
- ngh2-0.1.0/vendor/nghttp2/lib/nghttp2_priority_spec.h +42 -0
- ngh2-0.1.0/vendor/nghttp2/lib/nghttp2_queue.c +85 -0
- ngh2-0.1.0/vendor/nghttp2/lib/nghttp2_queue.h +51 -0
- ngh2-0.1.0/vendor/nghttp2/lib/nghttp2_ratelim.c +75 -0
- ngh2-0.1.0/vendor/nghttp2/lib/nghttp2_ratelim.h +57 -0
- ngh2-0.1.0/vendor/nghttp2/lib/nghttp2_rcbuf.c +102 -0
- ngh2-0.1.0/vendor/nghttp2/lib/nghttp2_rcbuf.h +80 -0
- ngh2-0.1.0/vendor/nghttp2/lib/nghttp2_session.c +8156 -0
- ngh2-0.1.0/vendor/nghttp2/lib/nghttp2_session.h +895 -0
- ngh2-0.1.0/vendor/nghttp2/lib/nghttp2_stream.c +225 -0
- ngh2-0.1.0/vendor/nghttp2/lib/nghttp2_stream.h +297 -0
- ngh2-0.1.0/vendor/nghttp2/lib/nghttp2_submit.c +864 -0
- ngh2-0.1.0/vendor/nghttp2/lib/nghttp2_submit.h +40 -0
- ngh2-0.1.0/vendor/nghttp2/lib/nghttp2_time.c +62 -0
- ngh2-0.1.0/vendor/nghttp2/lib/nghttp2_time.h +38 -0
- ngh2-0.1.0/vendor/nghttp2/lib/nghttp2_version.c +38 -0
- ngh2-0.1.0/vendor/nghttp2/lib/sfparse.c +1787 -0
- ngh2-0.1.0/vendor/nghttp2/lib/sfparse.h +442 -0
- ngh2-0.1.0/vendor/nghttp2/lib/version.rc.in +40 -0
- ngh2-0.1.0/vendor/nghttp2/m4/ax_check_compile_flag.m4 +74 -0
- ngh2-0.1.0/vendor/nghttp2/m4/ax_cxx_compile_stdcxx.m4 +1018 -0
- ngh2-0.1.0/vendor/nghttp2/m4/libxml2.m4 +188 -0
- ngh2-0.1.0/vendor/nghttp2/makebashcompletion +7 -0
- ngh2-0.1.0/vendor/nghttp2/makemanpages +12 -0
- ngh2-0.1.0/vendor/nghttp2/makerelease.sh +22 -0
- ngh2-0.1.0/vendor/nghttp2/mkcipherlist.py +325 -0
- ngh2-0.1.0/vendor/nghttp2/mkhufftbl.py +457 -0
- ngh2-0.1.0/vendor/nghttp2/mkstatichdtbl.py +36 -0
- ngh2-0.1.0/vendor/nghttp2/nghttpx.conf.sample +29 -0
- ngh2-0.1.0/vendor/nghttp2/pre-commit +27 -0
- ngh2-0.1.0/vendor/nghttp2/proxy.pac.sample +6 -0
- ngh2-0.1.0/vendor/nghttp2/releasechk +6 -0
- ngh2-0.1.0/vendor/nghttp2/src/.gitignore +13 -0
- ngh2-0.1.0/vendor/nghttp2/src/CMakeLists.txt +263 -0
- ngh2-0.1.0/vendor/nghttp2/src/HtmlParser.cc +216 -0
- ngh2-0.1.0/vendor/nghttp2/src/HtmlParser.h +94 -0
- ngh2-0.1.0/vendor/nghttp2/src/HttpServer.cc +2275 -0
- ngh2-0.1.0/vendor/nghttp2/src/HttpServer.h +263 -0
- ngh2-0.1.0/vendor/nghttp2/src/Makefile.am +277 -0
- ngh2-0.1.0/vendor/nghttp2/src/allocator.h +304 -0
- ngh2-0.1.0/vendor/nghttp2/src/allocator_test.cc +190 -0
- ngh2-0.1.0/vendor/nghttp2/src/allocator_test.h +48 -0
- ngh2-0.1.0/vendor/nghttp2/src/app_helper.cc +477 -0
- ngh2-0.1.0/vendor/nghttp2/src/app_helper.h +94 -0
- ngh2-0.1.0/vendor/nghttp2/src/base64.h +200 -0
- ngh2-0.1.0/vendor/nghttp2/src/base64_test.cc +119 -0
- ngh2-0.1.0/vendor/nghttp2/src/base64_test.h +45 -0
- ngh2-0.1.0/vendor/nghttp2/src/buffer.h +79 -0
- ngh2-0.1.0/vendor/nghttp2/src/buffer_test.cc +91 -0
- ngh2-0.1.0/vendor/nghttp2/src/buffer_test.h +44 -0
- ngh2-0.1.0/vendor/nghttp2/src/ca-config.json +17 -0
- ngh2-0.1.0/vendor/nghttp2/src/ca.nghttp2.org-key.pem +27 -0
- ngh2-0.1.0/vendor/nghttp2/src/ca.nghttp2.org.csr +17 -0
- ngh2-0.1.0/vendor/nghttp2/src/ca.nghttp2.org.csr.json +17 -0
- ngh2-0.1.0/vendor/nghttp2/src/ca.nghttp2.org.pem +22 -0
- ngh2-0.1.0/vendor/nghttp2/src/comp_helper.c +133 -0
- ngh2-0.1.0/vendor/nghttp2/src/comp_helper.h +57 -0
- ngh2-0.1.0/vendor/nghttp2/src/deflatehd.cc +457 -0
- ngh2-0.1.0/vendor/nghttp2/src/h2load.cc +4061 -0
- ngh2-0.1.0/vendor/nghttp2/src/h2load.h +575 -0
- ngh2-0.1.0/vendor/nghttp2/src/h2load_http1_session.cc +287 -0
- ngh2-0.1.0/vendor/nghttp2/src/h2load_http1_session.h +60 -0
- ngh2-0.1.0/vendor/nghttp2/src/h2load_http2_session.cc +322 -0
- ngh2-0.1.0/vendor/nghttp2/src/h2load_http2_session.h +54 -0
- ngh2-0.1.0/vendor/nghttp2/src/h2load_http3_session.cc +499 -0
- ngh2-0.1.0/vendor/nghttp2/src/h2load_http3_session.h +84 -0
- ngh2-0.1.0/vendor/nghttp2/src/h2load_quic.cc +830 -0
- ngh2-0.1.0/vendor/nghttp2/src/h2load_quic.h +40 -0
- ngh2-0.1.0/vendor/nghttp2/src/h2load_session.h +59 -0
- ngh2-0.1.0/vendor/nghttp2/src/http-parser.patch +28 -0
- ngh2-0.1.0/vendor/nghttp2/src/http2.cc +2015 -0
- ngh2-0.1.0/vendor/nghttp2/src/http2.h +426 -0
- ngh2-0.1.0/vendor/nghttp2/src/http2_test.cc +1232 -0
- ngh2-0.1.0/vendor/nghttp2/src/http2_test.h +60 -0
- ngh2-0.1.0/vendor/nghttp2/src/http3.cc +141 -0
- ngh2-0.1.0/vendor/nghttp2/src/http3.h +79 -0
- ngh2-0.1.0/vendor/nghttp2/src/inflatehd.cc +291 -0
- ngh2-0.1.0/vendor/nghttp2/src/memchunk.h +591 -0
- ngh2-0.1.0/vendor/nghttp2/src/memchunk_test.cc +353 -0
- ngh2-0.1.0/vendor/nghttp2/src/memchunk_test.h +54 -0
- ngh2-0.1.0/vendor/nghttp2/src/network.cc +164 -0
- ngh2-0.1.0/vendor/nghttp2/src/network.h +136 -0
- ngh2-0.1.0/vendor/nghttp2/src/network_test.cc +164 -0
- ngh2-0.1.0/vendor/nghttp2/src/network_test.h +44 -0
- ngh2-0.1.0/vendor/nghttp2/src/nghttp.cc +3072 -0
- ngh2-0.1.0/vendor/nghttp2/src/nghttp.h +316 -0
- ngh2-0.1.0/vendor/nghttp2/src/nghttp2_config.h +32 -0
- ngh2-0.1.0/vendor/nghttp2/src/nghttp2_gzip.c +87 -0
- ngh2-0.1.0/vendor/nghttp2/src/nghttp2_gzip.h +123 -0
- ngh2-0.1.0/vendor/nghttp2/src/nghttp2_gzip_test.c +120 -0
- ngh2-0.1.0/vendor/nghttp2/src/nghttp2_gzip_test.h +48 -0
- ngh2-0.1.0/vendor/nghttp2/src/nghttpd.cc +500 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx-unittest.cc +75 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx.cc +4974 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx.h +64 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_accept_handler.cc +168 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_accept_handler.h +55 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_api_downstream_connection.cc +476 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_api_downstream_connection.h +115 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_client_handler.cc +1716 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_client_handler.h +250 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_config.cc +4968 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_config.h +1444 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_config_test.cc +258 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_config_test.h +47 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_connect_blocker.cc +141 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_connect_blocker.h +86 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_connection.cc +925 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_connection.h +193 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_connection_handler.cc +892 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_connection_handler.h +275 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_dns_resolver.cc +373 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_dns_resolver.h +118 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_dns_tracker.cc +329 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_dns_tracker.h +121 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_downstream.cc +1221 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_downstream.h +634 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_downstream_connection.cc +48 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_downstream_connection.h +82 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_downstream_connection_pool.cc +66 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_downstream_connection_pool.h +53 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_downstream_queue.cc +169 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_downstream_queue.h +115 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_downstream_test.cc +220 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_downstream_test.h +50 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_dual_dns_resolver.cc +93 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_dual_dns_resolver.h +69 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_error.h +47 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_health_monitor_downstream_connection.cc +115 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_health_monitor_downstream_connection.h +64 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_http.cc +284 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_http.h +114 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_http2_downstream_connection.cc +625 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_http2_downstream_connection.h +95 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_http2_session.cc +2394 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_http2_session.h +303 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_http2_upstream.cc +2395 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_http2_upstream.h +151 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_http3_upstream.cc +2891 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_http3_upstream.h +202 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_http_downstream_connection.cc +1609 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_http_downstream_connection.h +124 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_http_test.cc +177 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_http_test.h +48 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_https_upstream.cc +1580 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_https_upstream.h +113 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_io_control.cc +66 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_io_control.h +58 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_live_check.cc +774 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_live_check.h +132 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_log.cc +913 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_log.h +339 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_log_config.cc +91 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_log_config.h +76 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_memcached_connection.cc +783 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_memcached_connection.h +155 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_memcached_dispatcher.cc +53 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_memcached_dispatcher.h +70 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_memcached_request.h +59 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_memcached_result.h +50 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_mruby.cc +238 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_mruby.h +89 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_mruby_module.cc +116 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_mruby_module.h +52 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_mruby_module_env.cc +501 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_mruby_module_env.h +42 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_mruby_module_request.cc +371 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_mruby_module_request.h +42 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_mruby_module_response.cc +396 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_mruby_module_response.h +42 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_null_downstream_connection.cc +88 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_null_downstream_connection.h +68 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_process.h +37 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_quic.cc +432 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_quic.h +170 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_quic_connection_handler.cc +800 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_quic_connection_handler.h +142 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_quic_listener.cc +148 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_quic_listener.h +51 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_rate_limit.cc +123 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_rate_limit.h +75 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_router.cc +421 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_router.h +108 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_router_test.cc +181 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_router_test.h +46 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_signal.cc +134 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_signal.h +60 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_tls.cc +2680 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_tls.h +334 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_tls_test.cc +360 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_tls_test.h +48 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_upstream.h +114 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_worker.cc +1714 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_worker.h +481 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_worker_process.cc +733 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_worker_process.h +67 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_worker_test.cc +264 -0
- ngh2-0.1.0/vendor/nghttp2/src/shrpx_worker_test.h +44 -0
- ngh2-0.1.0/vendor/nghttp2/src/siphash.cc +114 -0
- ngh2-0.1.0/vendor/nghttp2/src/siphash.h +61 -0
- ngh2-0.1.0/vendor/nghttp2/src/siphash_test.cc +68 -0
- ngh2-0.1.0/vendor/nghttp2/src/siphash_test.h +44 -0
- ngh2-0.1.0/vendor/nghttp2/src/ssl_compat.h +110 -0
- ngh2-0.1.0/vendor/nghttp2/src/template.h +409 -0
- ngh2-0.1.0/vendor/nghttp2/src/template_test.cc +297 -0
- ngh2-0.1.0/vendor/nghttp2/src/template_test.h +47 -0
- ngh2-0.1.0/vendor/nghttp2/src/test.example.com-key.pem +27 -0
- ngh2-0.1.0/vendor/nghttp2/src/test.example.com.csr +17 -0
- ngh2-0.1.0/vendor/nghttp2/src/test.example.com.csr.json +14 -0
- ngh2-0.1.0/vendor/nghttp2/src/test.example.com.pem +23 -0
- ngh2-0.1.0/vendor/nghttp2/src/test.nghttp2.org-key.pem +27 -0
- ngh2-0.1.0/vendor/nghttp2/src/test.nghttp2.org.csr +19 -0
- ngh2-0.1.0/vendor/nghttp2/src/test.nghttp2.org.csr.json +19 -0
- ngh2-0.1.0/vendor/nghttp2/src/test.nghttp2.org.pem +24 -0
- ngh2-0.1.0/vendor/nghttp2/src/testdata/Makefile.am +27 -0
- ngh2-0.1.0/vendor/nghttp2/src/testdata/ipaddr.crt +10 -0
- ngh2-0.1.0/vendor/nghttp2/src/testdata/nosan.crt +9 -0
- ngh2-0.1.0/vendor/nghttp2/src/testdata/nosan_ip.crt +9 -0
- ngh2-0.1.0/vendor/nghttp2/src/testdata/verify_hostname.crt +10 -0
- ngh2-0.1.0/vendor/nghttp2/src/timegm.c +88 -0
- ngh2-0.1.0/vendor/nghttp2/src/timegm.h +49 -0
- ngh2-0.1.0/vendor/nghttp2/src/tls.cc +270 -0
- ngh2-0.1.0/vendor/nghttp2/src/tls.h +140 -0
- ngh2-0.1.0/vendor/nghttp2/src/util.cc +1937 -0
- ngh2-0.1.0/vendor/nghttp2/src/util.h +1379 -0
- ngh2-0.1.0/vendor/nghttp2/src/util_test.cc +1224 -0
- ngh2-0.1.0/vendor/nghttp2/src/util_test.h +94 -0
- ngh2-0.1.0/vendor/nghttp2/src/xsi_strerror.c +50 -0
- ngh2-0.1.0/vendor/nghttp2/src/xsi_strerror.h +55 -0
- ngh2-0.1.0/vendor/nghttp2/tests/.gitignore +3 -0
- ngh2-0.1.0/vendor/nghttp2/tests/CMakeLists.txt +52 -0
- ngh2-0.1.0/vendor/nghttp2/tests/Makefile.am +94 -0
- ngh2-0.1.0/vendor/nghttp2/tests/failmalloc.c +45 -0
- ngh2-0.1.0/vendor/nghttp2/tests/failmalloc_test.c +591 -0
- ngh2-0.1.0/vendor/nghttp2/tests/failmalloc_test.h +44 -0
- ngh2-0.1.0/vendor/nghttp2/tests/main.c +71 -0
- ngh2-0.1.0/vendor/nghttp2/tests/malloc_wrapper.c +85 -0
- ngh2-0.1.0/vendor/nghttp2/tests/malloc_wrapper.h +65 -0
- ngh2-0.1.0/vendor/nghttp2/tests/nghttp2_alpn_test.c +108 -0
- ngh2-0.1.0/vendor/nghttp2/tests/nghttp2_alpn_test.h +40 -0
- ngh2-0.1.0/vendor/nghttp2/tests/nghttp2_assertion.h +56 -0
- ngh2-0.1.0/vendor/nghttp2/tests/nghttp2_buf_test.c +361 -0
- ngh2-0.1.0/vendor/nghttp2/tests/nghttp2_buf_test.h +48 -0
- ngh2-0.1.0/vendor/nghttp2/tests/nghttp2_extpri_test.c +61 -0
- ngh2-0.1.0/vendor/nghttp2/tests/nghttp2_extpri_test.h +41 -0
- ngh2-0.1.0/vendor/nghttp2/tests/nghttp2_frame_test.c +779 -0
- ngh2-0.1.0/vendor/nghttp2/tests/nghttp2_frame_test.h +53 -0
- ngh2-0.1.0/vendor/nghttp2/tests/nghttp2_hd_test.c +1622 -0
- ngh2-0.1.0/vendor/nghttp2/tests/nghttp2_hd_test.h +61 -0
- ngh2-0.1.0/vendor/nghttp2/tests/nghttp2_helper_test.c +205 -0
- ngh2-0.1.0/vendor/nghttp2/tests/nghttp2_helper_test.h +43 -0
- ngh2-0.1.0/vendor/nghttp2/tests/nghttp2_http_test.c +215 -0
- ngh2-0.1.0/vendor/nghttp2/tests/nghttp2_http_test.h +41 -0
- ngh2-0.1.0/vendor/nghttp2/tests/nghttp2_map_test.c +222 -0
- ngh2-0.1.0/vendor/nghttp2/tests/nghttp2_map_test.h +44 -0
- ngh2-0.1.0/vendor/nghttp2/tests/nghttp2_pq_test.c +237 -0
- ngh2-0.1.0/vendor/nghttp2/tests/nghttp2_pq_test.h +42 -0
- ngh2-0.1.0/vendor/nghttp2/tests/nghttp2_queue_test.c +59 -0
- ngh2-0.1.0/vendor/nghttp2/tests/nghttp2_queue_test.h +40 -0
- ngh2-0.1.0/vendor/nghttp2/tests/nghttp2_ratelim_test.c +111 -0
- ngh2-0.1.0/vendor/nghttp2/tests/nghttp2_ratelim_test.h +41 -0
- ngh2-0.1.0/vendor/nghttp2/tests/nghttp2_session_test.c +12089 -0
- ngh2-0.1.0/vendor/nghttp2/tests/nghttp2_session_test.h +170 -0
- ngh2-0.1.0/vendor/nghttp2/tests/nghttp2_stream_test.c +29 -0
- ngh2-0.1.0/vendor/nghttp2/tests/nghttp2_stream_test.h +32 -0
- ngh2-0.1.0/vendor/nghttp2/tests/nghttp2_test_helper.c +331 -0
- ngh2-0.1.0/vendor/nghttp2/tests/nghttp2_test_helper.h +110 -0
- ngh2-0.1.0/vendor/nghttp2/tests/testdata/Makefile.am +23 -0
- ngh2-0.1.0/vendor/nghttp2/tests/testdata/cacert.pem +14 -0
- ngh2-0.1.0/vendor/nghttp2/tests/testdata/index.html +1 -0
- ngh2-0.1.0/vendor/nghttp2/tests/testdata/privkey.pem +9 -0
- ngh2-0.1.0/vendor/nghttp2/third-party/CMakeLists.txt +82 -0
- ngh2-0.1.0/vendor/nghttp2/third-party/Makefile.am +685 -0
- ngh2-0.1.0/vendor/nghttp2/third-party/build_config.rb +56 -0
- ngh2-0.1.0/vendor/nghttp2/third-party/llhttp/LICENSE +22 -0
- ngh2-0.1.0/vendor/nghttp2/third-party/llhttp/README.md +508 -0
- ngh2-0.1.0/vendor/nghttp2/third-party/llhttp/common.gypi +46 -0
- ngh2-0.1.0/vendor/nghttp2/third-party/llhttp/include/llhttp.h +907 -0
- ngh2-0.1.0/vendor/nghttp2/third-party/llhttp/llhttp.gyp +22 -0
- ngh2-0.1.0/vendor/nghttp2/third-party/llhttp/src/api.c +509 -0
- ngh2-0.1.0/vendor/nghttp2/third-party/llhttp/src/http.c +170 -0
- ngh2-0.1.0/vendor/nghttp2/third-party/llhttp/src/llhttp.c +10103 -0
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ngh2-audit
|
|
3
|
+
description: Review ngh2 code, diffs, APIs, architecture, tests, Cython/libnghttp2 boundaries, packaging, documentation, or release surfaces for evidence-backed defects and unnecessary complexity. Use for read-only audits and after implementation; never modify files.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# ngh2 Audit
|
|
7
|
+
|
|
8
|
+
Review the current artifact independently and remain read-only.
|
|
9
|
+
|
|
10
|
+
## Workflow
|
|
11
|
+
|
|
12
|
+
1. Read `AGENTS.md`, the requested scope, affected files, applicable tests, and
|
|
13
|
+
the public contract under review.
|
|
14
|
+
2. Inspect current checkout facts instead of trusting historical reports or the
|
|
15
|
+
implementation author's conclusion.
|
|
16
|
+
3. Select only relevant lenses: protocol behavior, state/data ownership,
|
|
17
|
+
Python/native boundaries, public API usability, resource and callback
|
|
18
|
+
safety, tests, packaging, naming, or maintenance cost.
|
|
19
|
+
4. Use `ngh2-knowledge` when a finding depends on an external fact. Treat
|
|
20
|
+
protocol sources, official guidance, pinned implementation observations, and
|
|
21
|
+
engineering judgment as different evidence classes.
|
|
22
|
+
5. Challenge new surface and machinery:
|
|
23
|
+
- identify the current caller, contract, failure, or source that requires it;
|
|
24
|
+
- identify which layer owns its state, validation, errors, and lifecycle;
|
|
25
|
+
- check whether an existing direct path provides the same behavior;
|
|
26
|
+
- require evidence that matches correctness, interoperability, safety, or
|
|
27
|
+
performance claims.
|
|
28
|
+
6. For a public API difference from a mature reference, state the observable
|
|
29
|
+
reference boundary and the caller action enabled by the difference. Report a
|
|
30
|
+
defect when consumers must reconstruct hidden protocol state or no consumer
|
|
31
|
+
action depends on the added surface.
|
|
32
|
+
7. Report findings first, ordered by demonstrated consequence. Then list only
|
|
33
|
+
genuine open questions or evidence gaps.
|
|
34
|
+
|
|
35
|
+
## Finding Standard
|
|
36
|
+
|
|
37
|
+
Report a finding only when all four are present:
|
|
38
|
+
|
|
39
|
+
1. a precise current artifact fact;
|
|
40
|
+
2. a governing source, explicit contract, reproduction, or clearly labelled
|
|
41
|
+
engineering judgment;
|
|
42
|
+
3. a concrete correctness, interoperability, usability, safety, performance, or
|
|
43
|
+
maintenance consequence;
|
|
44
|
+
4. the smallest credible resolution direction.
|
|
45
|
+
|
|
46
|
+
Set severity from consequence and likelihood. Reserve high severity for
|
|
47
|
+
plausible contract failures, interoperability breaks, state/data loss,
|
|
48
|
+
exploitable boundaries, or release blockers.
|
|
49
|
+
|
|
50
|
+
Do not report style preferences without a consequence, hypothetical risks
|
|
51
|
+
without a present boundary, unmeasured performance concerns, missing
|
|
52
|
+
abstractions where direct code is clear, or compatibility concerns for an
|
|
53
|
+
unreleased surface unless compatibility is required.
|
|
54
|
+
|
|
55
|
+
If no finding meets the standard, say so clearly and identify only residual
|
|
56
|
+
verification gaps.
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ngh2-implementation
|
|
3
|
+
description: Implement requested changes in the ngh2 Python package, Cython/libnghttp2 binding, tests, packaging, CI, or project documentation. Use when creating, modifying, fixing, refactoring, replacing, or migrating ngh2 behavior or repository files. Do not use for read-only audits or factual research.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# ngh2 Implementation
|
|
7
|
+
|
|
8
|
+
Deliver the smallest complete change that satisfies the request and preserves
|
|
9
|
+
the repository boundaries in `AGENTS.md`.
|
|
10
|
+
|
|
11
|
+
## Workflow
|
|
12
|
+
|
|
13
|
+
1. Read `AGENTS.md` and every affected file before editing. Inspect callers,
|
|
14
|
+
tests, public exports, type information, and configuration that share the
|
|
15
|
+
changed contract.
|
|
16
|
+
2. Establish the requested outcome and explicit non-goals. Do not add adjacent
|
|
17
|
+
features, compatibility layers, reports, or tooling without a current need.
|
|
18
|
+
3. Trace the owning layer before choosing the fix. Keep HTTP/2 protocol state
|
|
19
|
+
in libnghttp2, transport/runtime ownership outside the package, and
|
|
20
|
+
Python-facing vocabulary natural for Python.
|
|
21
|
+
4. Use `ngh2-knowledge` when a decision depends on protocol requirements,
|
|
22
|
+
libnghttp2 behavior, established tooling behavior, packaging rules, native
|
|
23
|
+
extension practice, or licenses. Separate source facts from project choices.
|
|
24
|
+
5. Implement the smallest coherent design. Update all affected layers required
|
|
25
|
+
for correctness, including Python exports, type information, and tests when
|
|
26
|
+
their contract changes.
|
|
27
|
+
6. Add the smallest check that would fail for a changed behavior. Match evidence
|
|
28
|
+
to the claim: focused tests for behavior, interoperability for real peers,
|
|
29
|
+
fuzzing for hostile input/state exploration, and benchmarks for performance.
|
|
30
|
+
7. Run focused checks first, then the broader gate required by `AGENTS.md`.
|
|
31
|
+
Read fresh output before claiming success.
|
|
32
|
+
8. Review the final changes with `ngh2-audit`. Address blocking findings through
|
|
33
|
+
this workflow and rerun the affected checks.
|
|
34
|
+
|
|
35
|
+
## Implementation Boundaries
|
|
36
|
+
|
|
37
|
+
- Keep socket, TLS, async runtime, client, server, and connection-pool ownership
|
|
38
|
+
outside the Sans-I/O binding.
|
|
39
|
+
- Do not reimplement behavior already owned by libnghttp2 without demonstrated
|
|
40
|
+
need.
|
|
41
|
+
- Prefer existing language features and mature dependencies over local
|
|
42
|
+
machinery.
|
|
43
|
+
- Replace incorrect pre-release APIs directly. Do not retain aliases, shims, or
|
|
44
|
+
duplicate implementations unless compatibility is explicitly required.
|
|
45
|
+
- Do not invent protocol behavior, resource limits, safety claims, or
|
|
46
|
+
performance claims without evidence.
|
|
47
|
+
- Do not add tests that only restate constants, types, or implementation
|
|
48
|
+
spelling without protecting observable behavior.
|
|
49
|
+
|
|
50
|
+
Stop and report the conflict instead of patching around missing authority,
|
|
51
|
+
unclear ownership, or an environment that cannot verify the requested result.
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ngh2-knowledge
|
|
3
|
+
description: Research, verify, and, when explicitly requested, maintain source-based knowledge in docs/knowledge. Use for factual questions about HTTP/2, libnghttp2, Sans-I/O architecture, Python/native boundaries, C extension tooling, packaging, dependencies, licenses, performance, or established practice, including stale or conflicting claims. Keep project decisions and code-specific audit conclusions out of the collection.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# ngh2 Knowledge
|
|
7
|
+
|
|
8
|
+
Use `docs/knowledge/` as a factual reference layer. It supplies evidence and
|
|
9
|
+
source maps; it does not decide what ngh2 should implement.
|
|
10
|
+
|
|
11
|
+
## Retrieve And Verify
|
|
12
|
+
|
|
13
|
+
1. Resolve the repository root and read `docs/knowledge/README.md` for evidence
|
|
14
|
+
labels and freshness semantics.
|
|
15
|
+
2. Search document metadata before loading topic files:
|
|
16
|
+
|
|
17
|
+
```console
|
|
18
|
+
rg -n '^(title|description|topics|checked_at):' docs/knowledge --glob '*.md'
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
3. Read only documents matching the protocol term, tool, claim, or evidence
|
|
22
|
+
class. Follow direct citations when exact current wording or provenance
|
|
23
|
+
matters.
|
|
24
|
+
4. Keep these evidence classes distinct:
|
|
25
|
+
- normative source: an applicable RFC or BCP;
|
|
26
|
+
- authoritative registry: current IANA data;
|
|
27
|
+
- official guidance: documentation from the tool or language owner;
|
|
28
|
+
- observed practice: behavior or structure in a named, pinned implementation;
|
|
29
|
+
- methodological synthesis: a conclusion across sources.
|
|
30
|
+
5. Verify live primary sources when the answer depends on mutable protocol
|
|
31
|
+
status, library behavior, tool behavior, package metadata, or current
|
|
32
|
+
practice.
|
|
33
|
+
6. Report unavailable, superseded, materially changed, or conflicting sources.
|
|
34
|
+
Do not silently resolve uncertainty or rewrite the collection during a
|
|
35
|
+
read-only task.
|
|
36
|
+
|
|
37
|
+
## Maintain The Collection
|
|
38
|
+
|
|
39
|
+
Modify `docs/knowledge/` only when knowledge maintenance is explicitly
|
|
40
|
+
requested.
|
|
41
|
+
|
|
42
|
+
1. Update the existing owner document; add a topic only for a distinct reusable
|
|
43
|
+
domain.
|
|
44
|
+
2. Keep documents factual and independent of ngh2 code, audits, plans,
|
|
45
|
+
benchmark results, release decisions, and temporary recommendations.
|
|
46
|
+
3. Use `title`, `description`, `topics`, and `checked_at` frontmatter on topic
|
|
47
|
+
documents. Change `checked_at` only after reviewing every external claim in
|
|
48
|
+
that document.
|
|
49
|
+
4. Cite primary sources beside the supported claims. Pin implementation
|
|
50
|
+
observations to a version or commit.
|
|
51
|
+
5. Replace stale claims instead of appending a contradictory account. Do not
|
|
52
|
+
copy remote source archives without an offline or reproducibility need.
|
|
53
|
+
6. Update `docs/knowledge/README.md` only when the document set or domain layout
|
|
54
|
+
changes.
|
|
55
|
+
7. Verify frontmatter, relative links, absence of personal paths, and the
|
|
56
|
+
separation between source facts, synthesis, and project choices.
|
|
57
|
+
|
|
58
|
+
Do not create reports, decision logs, generated indexes, or monitoring
|
|
59
|
+
machinery for ordinary knowledge work.
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request:
|
|
5
|
+
push:
|
|
6
|
+
branches: [main]
|
|
7
|
+
workflow_dispatch:
|
|
8
|
+
|
|
9
|
+
permissions:
|
|
10
|
+
contents: read
|
|
11
|
+
|
|
12
|
+
concurrency:
|
|
13
|
+
group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.ref }}
|
|
14
|
+
cancel-in-progress: true
|
|
15
|
+
|
|
16
|
+
env:
|
|
17
|
+
RUFF_OUTPUT_FORMAT: github
|
|
18
|
+
TY_OUTPUT_FORMAT: github
|
|
19
|
+
|
|
20
|
+
jobs:
|
|
21
|
+
lint:
|
|
22
|
+
name: Lint and static analysis
|
|
23
|
+
runs-on: ubuntu-latest
|
|
24
|
+
steps:
|
|
25
|
+
- uses: actions/checkout@v7
|
|
26
|
+
with:
|
|
27
|
+
persist-credentials: false
|
|
28
|
+
submodules: true
|
|
29
|
+
- uses: astral-sh/setup-uv@v8.3.2
|
|
30
|
+
- run: uv sync --locked
|
|
31
|
+
- run: uv run --locked pre-commit run --all-files
|
|
32
|
+
|
|
33
|
+
python:
|
|
34
|
+
name: Python ${{ matrix.python-version }}${{ matrix.preview && ' preview' || '' }} on ${{ matrix.os }}
|
|
35
|
+
runs-on: ${{ matrix.os }}
|
|
36
|
+
strategy:
|
|
37
|
+
fail-fast: false
|
|
38
|
+
matrix:
|
|
39
|
+
os: [ubuntu-latest]
|
|
40
|
+
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14", "3.14t"]
|
|
41
|
+
include:
|
|
42
|
+
# Pre-release interpreters exercise forward compatibility but are
|
|
43
|
+
# not wheel targets until CPython reaches the release candidate phase.
|
|
44
|
+
- os: ubuntu-latest
|
|
45
|
+
python-version: "3.15"
|
|
46
|
+
preview: true
|
|
47
|
+
- os: ubuntu-latest
|
|
48
|
+
python-version: "3.15t"
|
|
49
|
+
preview: true
|
|
50
|
+
- os: ubuntu-24.04-arm
|
|
51
|
+
python-version: "3.12"
|
|
52
|
+
- os: macos-15-intel
|
|
53
|
+
python-version: "3.12"
|
|
54
|
+
- os: macos-14
|
|
55
|
+
python-version: "3.12"
|
|
56
|
+
- os: windows-latest
|
|
57
|
+
python-version: "3.12"
|
|
58
|
+
- os: windows-11-arm
|
|
59
|
+
python-version: "3.12"
|
|
60
|
+
steps:
|
|
61
|
+
- uses: actions/checkout@v7
|
|
62
|
+
with:
|
|
63
|
+
persist-credentials: false
|
|
64
|
+
submodules: true
|
|
65
|
+
- uses: astral-sh/setup-uv@v8.3.2
|
|
66
|
+
with:
|
|
67
|
+
python-version: ${{ matrix.python-version }}
|
|
68
|
+
- run: uv sync --locked --no-dev --group test
|
|
69
|
+
- run: uv run --locked --no-dev --group test pytest -m "not h2spec"
|
|
70
|
+
|
|
71
|
+
h2spec:
|
|
72
|
+
name: h2spec generic conformance
|
|
73
|
+
runs-on: ubuntu-latest
|
|
74
|
+
steps:
|
|
75
|
+
- uses: actions/checkout@v7
|
|
76
|
+
with:
|
|
77
|
+
persist-credentials: false
|
|
78
|
+
submodules: true
|
|
79
|
+
- uses: astral-sh/setup-uv@v8.3.2
|
|
80
|
+
- run: uv sync --locked --no-dev --group test
|
|
81
|
+
- name: Install h2spec 2.6.0
|
|
82
|
+
run: |
|
|
83
|
+
curl --fail --location --silent --show-error \
|
|
84
|
+
--output "$RUNNER_TEMP/h2spec.tar.gz" \
|
|
85
|
+
https://github.com/summerwind/h2spec/releases/download/v2.6.0/h2spec_linux_amd64.tar.gz
|
|
86
|
+
echo "157ee0de702e01ad40e752dbf074b366027e550c8e7504f9450da2809e279318 $RUNNER_TEMP/h2spec.tar.gz" \
|
|
87
|
+
| sha256sum --check
|
|
88
|
+
mkdir "$RUNNER_TEMP/h2spec"
|
|
89
|
+
tar -xzf "$RUNNER_TEMP/h2spec.tar.gz" -C "$RUNNER_TEMP/h2spec"
|
|
90
|
+
echo "$RUNNER_TEMP/h2spec" >> "$GITHUB_PATH"
|
|
91
|
+
- run: uv run --locked --no-dev --group test pytest -m h2spec
|
|
92
|
+
|
|
93
|
+
package:
|
|
94
|
+
name: Source distribution
|
|
95
|
+
runs-on: ubuntu-latest
|
|
96
|
+
steps:
|
|
97
|
+
- uses: actions/checkout@v7
|
|
98
|
+
with:
|
|
99
|
+
persist-credentials: false
|
|
100
|
+
submodules: true
|
|
101
|
+
- uses: astral-sh/setup-uv@v8.3.2
|
|
102
|
+
- name: Build sdist and rebuild its wheel
|
|
103
|
+
run: |
|
|
104
|
+
uv build --sdist
|
|
105
|
+
uv build --wheel dist/*.tar.gz
|
|
106
|
+
- name: Test the installed wheel outside the source tree
|
|
107
|
+
run: |
|
|
108
|
+
uv venv "$RUNNER_TEMP/ngh2-wheel-test"
|
|
109
|
+
uv pip install --python "$RUNNER_TEMP/ngh2-wheel-test/bin/python" \
|
|
110
|
+
dist/*.whl pytest h2
|
|
111
|
+
cd "$RUNNER_TEMP"
|
|
112
|
+
"$RUNNER_TEMP/ngh2-wheel-test/bin/python" -m pytest \
|
|
113
|
+
"$GITHUB_WORKSPACE/tests" -m "not h2spec"
|
|
114
|
+
|
|
115
|
+
coverage:
|
|
116
|
+
name: Coverage
|
|
117
|
+
runs-on: ubuntu-latest
|
|
118
|
+
# Codecov uses OIDC, so no long-lived upload token is stored.
|
|
119
|
+
permissions:
|
|
120
|
+
contents: read
|
|
121
|
+
id-token: write
|
|
122
|
+
env:
|
|
123
|
+
CMAKE_ARGS: -DNGH2_COVERAGE=ON
|
|
124
|
+
steps:
|
|
125
|
+
- uses: actions/checkout@v7
|
|
126
|
+
with:
|
|
127
|
+
persist-credentials: false
|
|
128
|
+
submodules: true
|
|
129
|
+
- uses: astral-sh/setup-uv@v8.3.2
|
|
130
|
+
- name: Build the traced extension
|
|
131
|
+
run: >-
|
|
132
|
+
uv --no-cache sync --locked --no-dev --group test --group coverage
|
|
133
|
+
--reinstall-package ngh2
|
|
134
|
+
- name: Expose generated C sources to the Cython coverage plugin
|
|
135
|
+
run: |
|
|
136
|
+
ln -s "$(find "$GITHUB_WORKSPACE/build" -name _core.c -print -quit)" src/ngh2/_core.c
|
|
137
|
+
ln -s "$(find "$GITHUB_WORKSPACE/build" -name events.c -print -quit)" src/ngh2/events.c
|
|
138
|
+
- run: uv run --no-sync coverage run -m pytest -m "not h2spec"
|
|
139
|
+
- run: uv run --no-sync coverage xml
|
|
140
|
+
- run: uv run --no-sync coverage report
|
|
141
|
+
- uses: codecov/codecov-action@v7
|
|
142
|
+
with:
|
|
143
|
+
disable_search: true
|
|
144
|
+
# Test and report generation already gate this job; an external
|
|
145
|
+
# upload outage should not block the project CI.
|
|
146
|
+
fail_ci_if_error: false
|
|
147
|
+
files: coverage.xml
|
|
148
|
+
use_oidc: true
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
name: Release
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
tags: ["v*"]
|
|
6
|
+
|
|
7
|
+
permissions:
|
|
8
|
+
contents: read
|
|
9
|
+
|
|
10
|
+
concurrency:
|
|
11
|
+
group: release-${{ github.ref_name }}
|
|
12
|
+
cancel-in-progress: false
|
|
13
|
+
|
|
14
|
+
jobs:
|
|
15
|
+
validate:
|
|
16
|
+
name: Validate release
|
|
17
|
+
runs-on: ubuntu-latest
|
|
18
|
+
steps:
|
|
19
|
+
- uses: actions/checkout@v7
|
|
20
|
+
with:
|
|
21
|
+
persist-credentials: false
|
|
22
|
+
- name: Verify tag and package version
|
|
23
|
+
env:
|
|
24
|
+
RELEASE_TAG: ${{ github.ref_name }}
|
|
25
|
+
run: |
|
|
26
|
+
version="$(python3 -c 'import runpy; print(runpy.run_path("src/ngh2/_version.py")["__version__"])')"
|
|
27
|
+
test "$RELEASE_TAG" = "v$version"
|
|
28
|
+
grep -Fq "## [$version] - " CHANGELOG.md
|
|
29
|
+
|
|
30
|
+
wheels:
|
|
31
|
+
name: Wheels on ${{ matrix.platform }}
|
|
32
|
+
needs: validate
|
|
33
|
+
runs-on: ${{ matrix.os }}
|
|
34
|
+
strategy:
|
|
35
|
+
fail-fast: false
|
|
36
|
+
matrix:
|
|
37
|
+
include:
|
|
38
|
+
- platform: manylinux-x86_64
|
|
39
|
+
os: ubuntu-latest
|
|
40
|
+
- platform: manylinux-aarch64
|
|
41
|
+
os: ubuntu-24.04-arm
|
|
42
|
+
- platform: macos-x86_64
|
|
43
|
+
os: macos-15-intel
|
|
44
|
+
- platform: macos-aarch64
|
|
45
|
+
os: macos-14
|
|
46
|
+
- platform: windows-x86_64
|
|
47
|
+
os: windows-latest
|
|
48
|
+
- platform: windows-aarch64
|
|
49
|
+
os: windows-11-arm
|
|
50
|
+
steps:
|
|
51
|
+
- uses: actions/checkout@v7
|
|
52
|
+
with:
|
|
53
|
+
persist-credentials: false
|
|
54
|
+
submodules: true
|
|
55
|
+
- uses: pypa/cibuildwheel@v4.1.0
|
|
56
|
+
- uses: actions/upload-artifact@v7
|
|
57
|
+
with:
|
|
58
|
+
name: wheels-${{ matrix.platform }}
|
|
59
|
+
path: wheelhouse/*.whl
|
|
60
|
+
if-no-files-found: error
|
|
61
|
+
|
|
62
|
+
sdist:
|
|
63
|
+
name: Source distribution
|
|
64
|
+
needs: validate
|
|
65
|
+
runs-on: ubuntu-latest
|
|
66
|
+
steps:
|
|
67
|
+
- uses: actions/checkout@v7
|
|
68
|
+
with:
|
|
69
|
+
persist-credentials: false
|
|
70
|
+
submodules: true
|
|
71
|
+
- uses: astral-sh/setup-uv@v8.3.2
|
|
72
|
+
with:
|
|
73
|
+
enable-cache: false
|
|
74
|
+
- run: uv build --sdist
|
|
75
|
+
- name: Smoke-test source distribution
|
|
76
|
+
run: |
|
|
77
|
+
uv venv "$RUNNER_TEMP/ngh2-sdist-test"
|
|
78
|
+
uv pip install --python "$RUNNER_TEMP/ngh2-sdist-test/bin/python" dist/*.tar.gz
|
|
79
|
+
"$RUNNER_TEMP/ngh2-sdist-test/bin/python" -c "import ngh2"
|
|
80
|
+
- uses: actions/upload-artifact@v7
|
|
81
|
+
with:
|
|
82
|
+
name: sdist
|
|
83
|
+
path: dist/*.tar.gz
|
|
84
|
+
if-no-files-found: error
|
|
85
|
+
|
|
86
|
+
publish-pypi:
|
|
87
|
+
name: Publish to PyPI
|
|
88
|
+
needs: [wheels, sdist]
|
|
89
|
+
runs-on: ubuntu-latest
|
|
90
|
+
environment: release
|
|
91
|
+
permissions:
|
|
92
|
+
contents: read
|
|
93
|
+
id-token: write
|
|
94
|
+
steps:
|
|
95
|
+
- uses: actions/download-artifact@v8
|
|
96
|
+
with:
|
|
97
|
+
pattern: "*"
|
|
98
|
+
path: dist
|
|
99
|
+
merge-multiple: true
|
|
100
|
+
- uses: pypa/gh-action-pypi-publish@release/v1
|
|
101
|
+
with:
|
|
102
|
+
packages-dir: dist/
|
|
103
|
+
|
|
104
|
+
github-release:
|
|
105
|
+
name: Publish GitHub release
|
|
106
|
+
needs: publish-pypi
|
|
107
|
+
runs-on: ubuntu-latest
|
|
108
|
+
permissions:
|
|
109
|
+
contents: write
|
|
110
|
+
steps:
|
|
111
|
+
- uses: actions/download-artifact@v8
|
|
112
|
+
with:
|
|
113
|
+
pattern: "*"
|
|
114
|
+
path: dist
|
|
115
|
+
merge-multiple: true
|
|
116
|
+
- name: Create release
|
|
117
|
+
env:
|
|
118
|
+
GH_TOKEN: ${{ github.token }}
|
|
119
|
+
GH_REPO: ${{ github.repository }}
|
|
120
|
+
RELEASE_TAG: ${{ github.ref_name }}
|
|
121
|
+
run: gh release create "$RELEASE_TAG" dist/* --verify-tag --generate-notes
|
ngh2-0.1.0/.gitignore
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# Python bytecode and native extensions
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.py[codz]
|
|
4
|
+
*$py.class
|
|
5
|
+
*.so
|
|
6
|
+
*.pyd
|
|
7
|
+
|
|
8
|
+
# Python environments and local configuration
|
|
9
|
+
.venv/
|
|
10
|
+
.env
|
|
11
|
+
.env.*
|
|
12
|
+
!.env.example
|
|
13
|
+
.pypirc
|
|
14
|
+
|
|
15
|
+
# Python and CMake build outputs
|
|
16
|
+
build/
|
|
17
|
+
dist/
|
|
18
|
+
*.egg-info/
|
|
19
|
+
*.whl
|
|
20
|
+
CMakeUserPresets.json
|
|
21
|
+
|
|
22
|
+
# Tests, coverage, and static analysis
|
|
23
|
+
.pytest_cache/
|
|
24
|
+
.coverage
|
|
25
|
+
.coverage.*
|
|
26
|
+
coverage.xml
|
|
27
|
+
htmlcov/
|
|
28
|
+
*.lcov
|
|
29
|
+
.ruff_cache/
|
|
30
|
+
|
|
31
|
+
# IDE files
|
|
32
|
+
.idea/
|
|
33
|
+
*.iml
|
|
34
|
+
.vscode/
|
|
35
|
+
*.swp
|
|
36
|
+
*.swo
|
|
37
|
+
*~
|
|
38
|
+
|
|
39
|
+
# Logs
|
|
40
|
+
*.log
|
|
41
|
+
|
|
42
|
+
# Operating system metadata
|
|
43
|
+
.DS_Store
|
|
44
|
+
._*
|
|
45
|
+
Thumbs.db
|
|
46
|
+
[Dd]esktop.ini
|
|
47
|
+
.directory
|
ngh2-0.1.0/.gitmodules
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
repos:
|
|
2
|
+
- repo: local
|
|
3
|
+
hooks:
|
|
4
|
+
- id: uv-lock
|
|
5
|
+
name: Check uv lockfile
|
|
6
|
+
entry: uv lock --check
|
|
7
|
+
language: system
|
|
8
|
+
pass_filenames: false
|
|
9
|
+
|
|
10
|
+
- id: ruff-format
|
|
11
|
+
name: Check Python formatting
|
|
12
|
+
entry: uv run --locked ruff format --check .
|
|
13
|
+
language: system
|
|
14
|
+
pass_filenames: false
|
|
15
|
+
|
|
16
|
+
- id: ruff-check
|
|
17
|
+
name: Lint Python
|
|
18
|
+
entry: uv run --locked ruff check .
|
|
19
|
+
language: system
|
|
20
|
+
pass_filenames: false
|
|
21
|
+
|
|
22
|
+
- id: cython-lint
|
|
23
|
+
name: Lint Cython
|
|
24
|
+
entry: uv run --locked cython-lint src/ngh2
|
|
25
|
+
language: system
|
|
26
|
+
pass_filenames: false
|
|
27
|
+
|
|
28
|
+
- id: ty
|
|
29
|
+
name: Check Python types
|
|
30
|
+
entry: uv run --locked ty check
|
|
31
|
+
language: system
|
|
32
|
+
pass_filenames: false
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
3.12
|
ngh2-0.1.0/AGENTS.md
ADDED
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# ngh2 Repository Guidance
|
|
2
|
+
|
|
3
|
+
## Product Boundary
|
|
4
|
+
|
|
5
|
+
- `ngh2` is a Sans-I/O HTTP/2 protocol library for Python, implemented as a
|
|
6
|
+
Cython binding over the vendored libnghttp2 source.
|
|
7
|
+
- libnghttp2 owns HTTP/2 connection and stream state, framing, HPACK, flow
|
|
8
|
+
control, scheduling, and protocol validation. Do not reimplement native
|
|
9
|
+
behavior in the binding without a demonstrated need.
|
|
10
|
+
- Keep sockets, TLS, async runtimes, HTTP clients and servers, connection pools,
|
|
11
|
+
routing, retries, and application timeouts outside this package.
|
|
12
|
+
- The binding owns Python-facing objects, event and error translation, buffer
|
|
13
|
+
lifetimes, configuration mapping, type information, and distribution
|
|
14
|
+
packaging.
|
|
15
|
+
|
|
16
|
+
## Repository Map
|
|
17
|
+
|
|
18
|
+
- `src/ngh2`: Python API, Cython implementation, C declarations, and type stubs.
|
|
19
|
+
- `vendor/nghttp2`: pinned upstream Git submodule; update it as a dependency,
|
|
20
|
+
not by editing vendored source in place.
|
|
21
|
+
- `tests`: behavior, lifecycle, limits, hyper-h2 interoperability, and h2spec
|
|
22
|
+
adapter coverage.
|
|
23
|
+
- `benchmarks`: reproducible public-API comparison workloads and rendering.
|
|
24
|
+
- `docs/knowledge`: source-based facts, not project decisions or audit reports.
|
|
25
|
+
- `.agents/skills`: project workflows for implementation, audit, and knowledge
|
|
26
|
+
work.
|
|
27
|
+
|
|
28
|
+
## Development
|
|
29
|
+
|
|
30
|
+
Install locked development dependencies with:
|
|
31
|
+
|
|
32
|
+
```console
|
|
33
|
+
uv sync --locked
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Use focused tests while iterating, then run the local gate:
|
|
37
|
+
|
|
38
|
+
```console
|
|
39
|
+
uv run --locked pytest tests/test_connection.py
|
|
40
|
+
uv run --locked pre-commit run --all-files
|
|
41
|
+
uv run --locked pytest -m "not h2spec"
|
|
42
|
+
uv build
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
Run `uv run --locked pytest -m h2spec` when the external `h2spec` executable is
|
|
46
|
+
installed and the changed behavior affects protocol interoperability.
|
|
47
|
+
|
|
48
|
+
## Change Rules
|
|
49
|
+
|
|
50
|
+
- Read affected callers, tests, exports, stubs, and configuration before
|
|
51
|
+
editing. Update runtime behavior, public exports, `.pyi` files, and tests
|
|
52
|
+
together when a Python contract changes.
|
|
53
|
+
- Keep public names and docstrings natural for Python and describe HTTP/2
|
|
54
|
+
behavior rather than C binding mechanics. Comment internal ownership and
|
|
55
|
+
callback lifetimes where they are not obvious.
|
|
56
|
+
- Validate protocol ranges, ownership, and C conversion boundaries. Do not add
|
|
57
|
+
defensive checks that only restate type hints unless they stabilize a public
|
|
58
|
+
error contract.
|
|
59
|
+
- Treat callback pointers and borrowed native buffers as callback-scoped unless
|
|
60
|
+
the upstream API explicitly guarantees a longer lifetime.
|
|
61
|
+
- Ruff and ty do not validate Cython source. Binding changes must also pass
|
|
62
|
+
`cython-lint`, compile, and execute relevant tests; the pre-commit gate runs
|
|
63
|
+
the configured static checks.
|
|
64
|
+
- Back protocol and libnghttp2 claims with RFCs, official documentation, or
|
|
65
|
+
pinned source observations. Treat mature implementations as observed
|
|
66
|
+
practice, not authority.
|
|
67
|
+
- Keep generated C files, build output, local environments, editor state,
|
|
68
|
+
temporary reports, and personal instructions out of version control.
|
|
69
|
+
|
|
70
|
+
## Project Skills
|
|
71
|
+
|
|
72
|
+
- Use `ngh2-implementation` for changes to code, tests, packaging, CI, or
|
|
73
|
+
project documentation.
|
|
74
|
+
- Use `ngh2-audit` for read-only review after implementation or on request.
|
|
75
|
+
- Use `ngh2-knowledge` for source-based factual research and explicitly
|
|
76
|
+
requested maintenance of `docs/knowledge`.
|
|
77
|
+
|
|
78
|
+
Work is complete only after the relevant focused checks and local gate finish
|
|
79
|
+
successfully, followed by a read-only audit of the final changes.
|
ngh2-0.1.0/CHANGELOG.md
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
User-visible changes to ngh2 are recorded here.
|
|
4
|
+
|
|
5
|
+
## [Unreleased]
|
|
6
|
+
|
|
7
|
+
## [0.1.0] - 2026-07-20
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
|
|
11
|
+
- Initial Python package for Sans-I/O HTTP/2 powered by libnghttp2.
|
|
12
|
+
- Client and server connections, h2c upgrade, flow control, server push,
|
|
13
|
+
priority, extension frames, and typed protocol events.
|
|
14
|
+
- Support for GIL-enabled CPython 3.10 through 3.14 and free-threaded CPython
|
|
15
|
+
3.14t.
|