nitro-framework 0.3.0__tar.gz → 0.3.2__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.
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/Cargo.lock +58 -57
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/Cargo.toml +5 -5
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/PKG-INFO +3 -2
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/__init__.py +1 -1
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/sessions.py +37 -1
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/settings/__init__.py +9 -10
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/pyproject.toml +6 -2
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/LICENSE-APACHE +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/LICENSE-MIT +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/README.md +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/crates/intercom-core/Cargo.toml +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/crates/intercom-core/LICENSE-APACHE +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/crates/intercom-core/LICENSE-MIT +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/crates/intercom-core/src/channel.rs +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/crates/intercom-core/src/codec.rs +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/crates/intercom-core/src/intercom_core.rs +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/crates/intercom-core/src/redis.rs +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/crates/intercom-core/tests/redis_backend.rs +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/crates/nitro-core/Cargo.toml +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/crates/nitro-core/LICENSE-APACHE +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/crates/nitro-core/LICENSE-MIT +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/crates/nitro-core/examples/floor.rs +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/crates/nitro-core/src/config.rs +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/crates/nitro-core/src/disconnect.rs +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/crates/nitro-core/src/files.rs +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/crates/nitro-core/src/headers.rs +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/crates/nitro-core/src/hosts.rs +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/crates/nitro-core/src/lifecycle/drain.rs +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/crates/nitro-core/src/lifecycle/signals.rs +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/crates/nitro-core/src/lifecycle.rs +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/crates/nitro-core/src/nitro_core.rs +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/crates/nitro-core/src/router/matcher.rs +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/crates/nitro-core/src/router/route.rs +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/crates/nitro-core/src/router.rs +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/crates/nitro-core/src/streaming.rs +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/crates/nitro-core/src/transport/accept.rs +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/crates/nitro-core/src/transport/connection.rs +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/crates/nitro-core/src/transport/quic.rs +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/crates/nitro-core/src/transport/tls.rs +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/crates/nitro-core/src/transport.rs +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/crates/nitro-core/src/websocket.rs +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/crates/nitro-core/src/webtransport.rs +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/crates/nitro-core/tests/observability.rs +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/crates/nitro-core/tests/serving.rs +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/crates/nitro-core/tests/signals.rs +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/crates/nitro-core/tests/webtransport.rs +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/crates/nitro-observability/Cargo.toml +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/crates/nitro-observability/LICENSE-APACHE +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/crates/nitro-observability/LICENSE-MIT +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/crates/nitro-observability/src/exporter.rs +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/crates/nitro-observability/src/metrics.rs +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/crates/nitro-observability/src/nitro_observability.rs +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/crates/nitro-py/Cargo.toml +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/crates/nitro-py/LICENSE-APACHE +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/crates/nitro-py/LICENSE-MIT +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/crates/nitro-py/src/config.rs +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/crates/nitro-py/src/dispatch.rs +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/crates/nitro-py/src/handoff.rs +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/crates/nitro-py/src/headers.rs +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/crates/nitro-py/src/intercom_bridge.rs +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/crates/nitro-py/src/lifecycle.rs +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/crates/nitro-py/src/nitro_py.rs +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/crates/nitro-py/src/protocol.rs +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/crates/nitro-py/src/scope.rs +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/crates/nitro-py/src/server.rs +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/app.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/cache/__init__.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/cache/backends/__init__.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/cache/backends/memcached.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/cache/backends/memory.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/cache/backends/redis.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/cache/base.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/cache/handler.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/cli/__init__.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/cli/__main__.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/cli/commands/__init__.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/cli/commands/check.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/cli/commands/shell.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/cli/commands/static.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/cli/commands/version.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/cli/serve.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/di/__init__.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/endpoints.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/intercom/__init__.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/intercom/backends.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/log.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/mail/__init__.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/mail/backends/__init__.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/mail/backends/base.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/mail/backends/console.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/mail/backends/oauth_smtp.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/mail/backends/sendgrid.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/mail/backends/ses.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/mail/backends/smtp.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/mail/message.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/mail/utils.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/middleware/__init__.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/middleware/base.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/middleware/common.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/middleware/stack.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/protocols/__init__.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/protocols/exceptions.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/protocols/http.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/protocols/websocket.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/protocols/webtransport.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/reload.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/routing/__init__.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/routing/converters.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/routing/mount.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/routing/parameters.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/routing/patterns.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/routing/reverse.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/routing/router.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/settings/defaults.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/shortcuts.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/staticfiles.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/storage/__init__.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/storage/backends/__init__.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/storage/backends/azure.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/storage/backends/filesystem.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/storage/backends/memory.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/storage/backends/s3.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/storage/base.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/storage/handler.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/templates/__init__.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/templates/engine.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/templates/exceptions.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/templates/templates.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/testing.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/utils/__init__.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/utils/archives.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/utils/content.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/utils/crypto.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/utils/datetime.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/utils/decorators.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/utils/http.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/utils/json.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/utils/modules.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/views/__init__.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/views/debug.py +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/views/templates/error_404.html +0 -0
- {nitro_framework-0.3.0 → nitro_framework-0.3.2}/nitro/views/templates/error_500.html +0 -0
|
@@ -214,9 +214,9 @@ dependencies = [
|
|
|
214
214
|
|
|
215
215
|
[[package]]
|
|
216
216
|
name = "combine"
|
|
217
|
-
version = "4.6.
|
|
217
|
+
version = "4.6.8"
|
|
218
218
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
219
|
-
checksum = "
|
|
219
|
+
checksum = "cfc320937d09e6de266b31b9afb480f197d7a861be86be7cb2ea7e5d1bfffc5e"
|
|
220
220
|
dependencies = [
|
|
221
221
|
"bytes",
|
|
222
222
|
"futures-core",
|
|
@@ -333,7 +333,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
333
333
|
checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb"
|
|
334
334
|
dependencies = [
|
|
335
335
|
"libc",
|
|
336
|
-
"windows-sys 0.
|
|
336
|
+
"windows-sys 0.52.0",
|
|
337
337
|
]
|
|
338
338
|
|
|
339
339
|
[[package]]
|
|
@@ -653,9 +653,9 @@ dependencies = [
|
|
|
653
653
|
|
|
654
654
|
[[package]]
|
|
655
655
|
name = "hyper"
|
|
656
|
-
version = "1.
|
|
656
|
+
version = "1.12.0"
|
|
657
657
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
658
|
-
checksum = "
|
|
658
|
+
checksum = "2c3e324da4c95177d6291d4c8730197c0d1822f8a9766814a4a44fa5ab797c9c"
|
|
659
659
|
dependencies = [
|
|
660
660
|
"atomic-waker",
|
|
661
661
|
"bytes",
|
|
@@ -690,16 +690,17 @@ dependencies = [
|
|
|
690
690
|
|
|
691
691
|
[[package]]
|
|
692
692
|
name = "hyper-util"
|
|
693
|
-
version = "0.1.
|
|
693
|
+
version = "0.1.21"
|
|
694
694
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
695
|
-
checksum = "
|
|
695
|
+
checksum = "ddc03d96684f9226b8a787cdb71488417b53ab5ea8fdb1dac946cb9431cc8bff"
|
|
696
696
|
dependencies = [
|
|
697
|
-
"base64 0.
|
|
697
|
+
"base64 0.23.1",
|
|
698
698
|
"bytes",
|
|
699
699
|
"futures-channel",
|
|
700
700
|
"futures-util",
|
|
701
701
|
"http",
|
|
702
702
|
"http-body",
|
|
703
|
+
"httparse",
|
|
703
704
|
"hyper",
|
|
704
705
|
"ipnet",
|
|
705
706
|
"libc",
|
|
@@ -826,7 +827,7 @@ dependencies = [
|
|
|
826
827
|
|
|
827
828
|
[[package]]
|
|
828
829
|
name = "intercom-core"
|
|
829
|
-
version = "0.3.
|
|
830
|
+
version = "0.3.2"
|
|
830
831
|
dependencies = [
|
|
831
832
|
"bytes",
|
|
832
833
|
"futures-util",
|
|
@@ -841,7 +842,7 @@ dependencies = [
|
|
|
841
842
|
|
|
842
843
|
[[package]]
|
|
843
844
|
name = "intercom-py"
|
|
844
|
-
version = "0.3.
|
|
845
|
+
version = "0.3.2"
|
|
845
846
|
dependencies = [
|
|
846
847
|
"bytes",
|
|
847
848
|
"futures-util",
|
|
@@ -942,9 +943,9 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
|
|
|
942
943
|
|
|
943
944
|
[[package]]
|
|
944
945
|
name = "libc"
|
|
945
|
-
version = "0.2.
|
|
946
|
+
version = "0.2.191"
|
|
946
947
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
947
|
-
checksum = "
|
|
948
|
+
checksum = "65cd87c9a6d60536580b316ad985726104730a5151c99845f2490428ef91240a"
|
|
948
949
|
|
|
949
950
|
[[package]]
|
|
950
951
|
name = "linux-raw-sys"
|
|
@@ -1029,7 +1030,7 @@ dependencies = [
|
|
|
1029
1030
|
|
|
1030
1031
|
[[package]]
|
|
1031
1032
|
name = "nitro-core"
|
|
1032
|
-
version = "0.3.
|
|
1033
|
+
version = "0.3.2"
|
|
1033
1034
|
dependencies = [
|
|
1034
1035
|
"base64 0.23.1",
|
|
1035
1036
|
"bytes",
|
|
@@ -1071,7 +1072,7 @@ dependencies = [
|
|
|
1071
1072
|
|
|
1072
1073
|
[[package]]
|
|
1073
1074
|
name = "nitro-observability"
|
|
1074
|
-
version = "0.3.
|
|
1075
|
+
version = "0.3.2"
|
|
1075
1076
|
dependencies = [
|
|
1076
1077
|
"bytes",
|
|
1077
1078
|
"futures-util",
|
|
@@ -1089,7 +1090,7 @@ dependencies = [
|
|
|
1089
1090
|
|
|
1090
1091
|
[[package]]
|
|
1091
1092
|
name = "nitro-py"
|
|
1092
|
-
version = "0.3.
|
|
1093
|
+
version = "0.3.2"
|
|
1093
1094
|
dependencies = [
|
|
1094
1095
|
"bytes",
|
|
1095
1096
|
"futures-util",
|
|
@@ -1297,9 +1298,9 @@ dependencies = [
|
|
|
1297
1298
|
|
|
1298
1299
|
[[package]]
|
|
1299
1300
|
name = "pyo3"
|
|
1300
|
-
version = "0.29.
|
|
1301
|
+
version = "0.29.3"
|
|
1301
1302
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1302
|
-
checksum = "
|
|
1303
|
+
checksum = "700d18fa267b73b9b521fd7e13580e2f446916f176cacee1ab63fcc8191f1655"
|
|
1303
1304
|
dependencies = [
|
|
1304
1305
|
"libc",
|
|
1305
1306
|
"once_cell",
|
|
@@ -1325,18 +1326,18 @@ dependencies = [
|
|
|
1325
1326
|
|
|
1326
1327
|
[[package]]
|
|
1327
1328
|
name = "pyo3-build-config"
|
|
1328
|
-
version = "0.29.
|
|
1329
|
+
version = "0.29.3"
|
|
1329
1330
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1330
|
-
checksum = "
|
|
1331
|
+
checksum = "7b3fc0c4d08f6bb10e71fe39dfb9e2f59c6eb6854e22ec8092f50c69a4499adb"
|
|
1331
1332
|
dependencies = [
|
|
1332
1333
|
"target-lexicon",
|
|
1333
1334
|
]
|
|
1334
1335
|
|
|
1335
1336
|
[[package]]
|
|
1336
1337
|
name = "pyo3-ffi"
|
|
1337
|
-
version = "0.29.
|
|
1338
|
+
version = "0.29.3"
|
|
1338
1339
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1339
|
-
checksum = "
|
|
1340
|
+
checksum = "dfc0b8e19df29aad7086cf977bb0c2a2f143e30567eb113e9cf72b62ca698330"
|
|
1340
1341
|
dependencies = [
|
|
1341
1342
|
"libc",
|
|
1342
1343
|
"pyo3-build-config",
|
|
@@ -1344,9 +1345,9 @@ dependencies = [
|
|
|
1344
1345
|
|
|
1345
1346
|
[[package]]
|
|
1346
1347
|
name = "pyo3-macros"
|
|
1347
|
-
version = "0.29.
|
|
1348
|
+
version = "0.29.3"
|
|
1348
1349
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1349
|
-
checksum = "
|
|
1350
|
+
checksum = "6100e8a4b5eba53afaa5ed078364851a0b2499c553a44c31026b929049b49dc6"
|
|
1350
1351
|
dependencies = [
|
|
1351
1352
|
"proc-macro2",
|
|
1352
1353
|
"pyo3-macros-backend",
|
|
@@ -1356,9 +1357,9 @@ dependencies = [
|
|
|
1356
1357
|
|
|
1357
1358
|
[[package]]
|
|
1358
1359
|
name = "pyo3-macros-backend"
|
|
1359
|
-
version = "0.29.
|
|
1360
|
+
version = "0.29.3"
|
|
1360
1361
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1361
|
-
checksum = "
|
|
1362
|
+
checksum = "6143877a16e82b5a727b7127ff4cd86858a24a28d745d72f43e6f227c7b1bdb3"
|
|
1362
1363
|
dependencies = [
|
|
1363
1364
|
"heck",
|
|
1364
1365
|
"proc-macro2",
|
|
@@ -1368,9 +1369,9 @@ dependencies = [
|
|
|
1368
1369
|
|
|
1369
1370
|
[[package]]
|
|
1370
1371
|
name = "quinn"
|
|
1371
|
-
version = "0.11.
|
|
1372
|
+
version = "0.11.12"
|
|
1372
1373
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1373
|
-
checksum = "
|
|
1374
|
+
checksum = "4051e23e9185c255a7e33ef59cdbca87a22d359052eecd22fc6b901fb37d9d11"
|
|
1374
1375
|
dependencies = [
|
|
1375
1376
|
"bytes",
|
|
1376
1377
|
"cfg_aliases",
|
|
@@ -1389,9 +1390,9 @@ dependencies = [
|
|
|
1389
1390
|
|
|
1390
1391
|
[[package]]
|
|
1391
1392
|
name = "quinn-proto"
|
|
1392
|
-
version = "0.11.
|
|
1393
|
+
version = "0.11.19"
|
|
1393
1394
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1394
|
-
checksum = "
|
|
1395
|
+
checksum = "0e750cca55fe4f0439a15d0bb529da9651e79993e8e72c61a899a36d462befbe"
|
|
1395
1396
|
dependencies = [
|
|
1396
1397
|
"bytes",
|
|
1397
1398
|
"getrandom 0.4.3",
|
|
@@ -1420,7 +1421,7 @@ dependencies = [
|
|
|
1420
1421
|
"once_cell",
|
|
1421
1422
|
"socket2",
|
|
1422
1423
|
"tracing",
|
|
1423
|
-
"windows-sys 0.
|
|
1424
|
+
"windows-sys 0.52.0",
|
|
1424
1425
|
]
|
|
1425
1426
|
|
|
1426
1427
|
[[package]]
|
|
@@ -1480,9 +1481,9 @@ dependencies = [
|
|
|
1480
1481
|
|
|
1481
1482
|
[[package]]
|
|
1482
1483
|
name = "redis"
|
|
1483
|
-
version = "1.
|
|
1484
|
+
version = "1.8.1"
|
|
1484
1485
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1485
|
-
checksum = "
|
|
1486
|
+
checksum = "db7f3d75b5a3301746bff39a767bf4c5c42506b08513527308b3875bfb64a031"
|
|
1486
1487
|
dependencies = [
|
|
1487
1488
|
"arc-swap",
|
|
1488
1489
|
"arcstr",
|
|
@@ -1544,11 +1545,11 @@ checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4"
|
|
|
1544
1545
|
|
|
1545
1546
|
[[package]]
|
|
1546
1547
|
name = "reqwest"
|
|
1547
|
-
version = "0.13.
|
|
1548
|
+
version = "0.13.5"
|
|
1548
1549
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1549
|
-
checksum = "
|
|
1550
|
+
checksum = "16a1cfa75cc186dd73d5818e510e042e40927bccc9c236b061cea97e1eb08029"
|
|
1550
1551
|
dependencies = [
|
|
1551
|
-
"base64 0.
|
|
1552
|
+
"base64 0.23.1",
|
|
1552
1553
|
"bytes",
|
|
1553
1554
|
"futures-core",
|
|
1554
1555
|
"futures-util",
|
|
@@ -1656,14 +1657,14 @@ dependencies = [
|
|
|
1656
1657
|
"errno",
|
|
1657
1658
|
"libc",
|
|
1658
1659
|
"linux-raw-sys",
|
|
1659
|
-
"windows-sys 0.
|
|
1660
|
+
"windows-sys 0.52.0",
|
|
1660
1661
|
]
|
|
1661
1662
|
|
|
1662
1663
|
[[package]]
|
|
1663
1664
|
name = "rustls"
|
|
1664
|
-
version = "0.23.
|
|
1665
|
+
version = "0.23.46"
|
|
1665
1666
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1666
|
-
checksum = "
|
|
1667
|
+
checksum = "48e13bd8c0e9365c43cfa5c9e8f9ad49d3c8444926c9aac819e0e4dc503c8fdf"
|
|
1667
1668
|
dependencies = [
|
|
1668
1669
|
"aws-lc-rs",
|
|
1669
1670
|
"log",
|
|
@@ -1724,7 +1725,7 @@ dependencies = [
|
|
|
1724
1725
|
"security-framework",
|
|
1725
1726
|
"security-framework-sys",
|
|
1726
1727
|
"webpki-root-certs",
|
|
1727
|
-
"windows-sys 0.
|
|
1728
|
+
"windows-sys 0.52.0",
|
|
1728
1729
|
]
|
|
1729
1730
|
|
|
1730
1731
|
[[package]]
|
|
@@ -1735,9 +1736,9 @@ checksum = "f87165f0995f63a9fbeea62b64d10b4d9d8e78ec6d7d51fb2125fda7bb36788f"
|
|
|
1735
1736
|
|
|
1736
1737
|
[[package]]
|
|
1737
1738
|
name = "rustls-webpki"
|
|
1738
|
-
version = "0.103.
|
|
1739
|
+
version = "0.103.15"
|
|
1739
1740
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1740
|
-
checksum = "
|
|
1741
|
+
checksum = "f3c3cf1d8b1e7d4927e2d154c3fcb02979afb9939629c62cd9048d4f07b60ac2"
|
|
1741
1742
|
dependencies = [
|
|
1742
1743
|
"aws-lc-rs",
|
|
1743
1744
|
"ring",
|
|
@@ -1842,9 +1843,9 @@ dependencies = [
|
|
|
1842
1843
|
|
|
1843
1844
|
[[package]]
|
|
1844
1845
|
name = "serde_json"
|
|
1845
|
-
version = "1.0.
|
|
1846
|
+
version = "1.0.154"
|
|
1846
1847
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1847
|
-
checksum = "
|
|
1848
|
+
checksum = "e7e9cc8b1b85264074fbcc02a88680c4096b1e47df8f739dceb03bf482f04bd6"
|
|
1848
1849
|
dependencies = [
|
|
1849
1850
|
"itoa",
|
|
1850
1851
|
"memchr",
|
|
@@ -2008,23 +2009,23 @@ dependencies = [
|
|
|
2008
2009
|
"getrandom 0.4.3",
|
|
2009
2010
|
"once_cell",
|
|
2010
2011
|
"rustix",
|
|
2011
|
-
"windows-sys 0.
|
|
2012
|
+
"windows-sys 0.52.0",
|
|
2012
2013
|
]
|
|
2013
2014
|
|
|
2014
2015
|
[[package]]
|
|
2015
2016
|
name = "thiserror"
|
|
2016
|
-
version = "2.0.
|
|
2017
|
+
version = "2.0.21"
|
|
2017
2018
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2018
|
-
checksum = "
|
|
2019
|
+
checksum = "09e52cb86a36cede5cb101bf8908837b3e4c6e5e59fe7fd85c23fb56200d189e"
|
|
2019
2020
|
dependencies = [
|
|
2020
2021
|
"thiserror-impl",
|
|
2021
2022
|
]
|
|
2022
2023
|
|
|
2023
2024
|
[[package]]
|
|
2024
2025
|
name = "thiserror-impl"
|
|
2025
|
-
version = "2.0.
|
|
2026
|
+
version = "2.0.21"
|
|
2026
2027
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2027
|
-
checksum = "
|
|
2028
|
+
checksum = "fe5197923287db20a58125f0bc85c062f7f2c892de97b18c356f9efb14b28524"
|
|
2028
2029
|
dependencies = [
|
|
2029
2030
|
"proc-macro2",
|
|
2030
2031
|
"quote",
|
|
@@ -2097,9 +2098,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
|
|
|
2097
2098
|
|
|
2098
2099
|
[[package]]
|
|
2099
2100
|
name = "tokio"
|
|
2100
|
-
version = "1.
|
|
2101
|
+
version = "1.54.1"
|
|
2101
2102
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2102
|
-
checksum = "
|
|
2103
|
+
checksum = "b52fd3255258d26fac7264ab5a76b53c13367136dc011d3d6ad4f8ed070396a3"
|
|
2103
2104
|
dependencies = [
|
|
2104
2105
|
"bytes",
|
|
2105
2106
|
"libc",
|
|
@@ -2125,9 +2126,9 @@ dependencies = [
|
|
|
2125
2126
|
|
|
2126
2127
|
[[package]]
|
|
2127
2128
|
name = "tokio-rustls"
|
|
2128
|
-
version = "0.26.
|
|
2129
|
+
version = "0.26.6"
|
|
2129
2130
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2130
|
-
checksum = "
|
|
2131
|
+
checksum = "c9cc2678c2cdd569ef8215e2afd7954ada2ae20b4fdd2c5fe6139a3b02d105db"
|
|
2131
2132
|
dependencies = [
|
|
2132
2133
|
"rustls",
|
|
2133
2134
|
"tokio",
|
|
@@ -2151,9 +2152,9 @@ dependencies = [
|
|
|
2151
2152
|
|
|
2152
2153
|
[[package]]
|
|
2153
2154
|
name = "tokio-util"
|
|
2154
|
-
version = "0.7.
|
|
2155
|
+
version = "0.7.20"
|
|
2155
2156
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2156
|
-
checksum = "
|
|
2157
|
+
checksum = "e464cf451ba96ebfc6f9b6542f17ee8b8956e33f1e40d9690624e59d7a7f8a4b"
|
|
2157
2158
|
dependencies = [
|
|
2158
2159
|
"bytes",
|
|
2159
2160
|
"futures-core",
|
|
@@ -2368,9 +2369,9 @@ dependencies = [
|
|
|
2368
2369
|
|
|
2369
2370
|
[[package]]
|
|
2370
2371
|
name = "want"
|
|
2371
|
-
version = "0.3.
|
|
2372
|
+
version = "0.3.2"
|
|
2372
2373
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2373
|
-
checksum = "
|
|
2374
|
+
checksum = "ec4cdd0dd910afe868b7ef477227d8d538b46b3075031afee8a9f2acb0a2ed0b"
|
|
2374
2375
|
dependencies = [
|
|
2375
2376
|
"try-lock",
|
|
2376
2377
|
]
|
|
@@ -2502,7 +2503,7 @@ version = "0.1.11"
|
|
|
2502
2503
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2503
2504
|
checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22"
|
|
2504
2505
|
dependencies = [
|
|
2505
|
-
"windows-sys 0.
|
|
2506
|
+
"windows-sys 0.52.0",
|
|
2506
2507
|
]
|
|
2507
2508
|
|
|
2508
2509
|
[[package]]
|
|
@@ -5,14 +5,14 @@ members = ["crates/nitro-core", "crates/nitro-observability", "crates/nitro-py",
|
|
|
5
5
|
[workspace.package]
|
|
6
6
|
edition = "2024"
|
|
7
7
|
license = "MIT OR Apache-2.0"
|
|
8
|
-
version = "0.3.
|
|
8
|
+
version = "0.3.2"
|
|
9
9
|
authors = ["Mario Ritzerfeld <oss@jaldis.com>"]
|
|
10
10
|
repository = "https://github.com/jaldisdev/nitro"
|
|
11
11
|
|
|
12
12
|
[workspace.dependencies]
|
|
13
|
-
nitro-core = { path = "crates/nitro-core", version = "0.3.
|
|
14
|
-
nitro-observability = { path = "crates/nitro-observability", version = "0.3.
|
|
15
|
-
intercom-core = { path = "crates/intercom-core", version = "0.3.
|
|
13
|
+
nitro-core = { path = "crates/nitro-core", version = "0.3.2" }
|
|
14
|
+
nitro-observability = { path = "crates/nitro-observability", version = "0.3.2" }
|
|
15
|
+
intercom-core = { path = "crates/intercom-core", version = "0.3.2" }
|
|
16
16
|
|
|
17
17
|
# Async runtime
|
|
18
18
|
tokio = { version = "1.53.1", features = ["full"] }
|
|
@@ -34,7 +34,7 @@ h3-webtransport = "0.1.2"
|
|
|
34
34
|
h3-datagram = "0.0.2"
|
|
35
35
|
|
|
36
36
|
# TLS
|
|
37
|
-
rustls = { version = "0.23.
|
|
37
|
+
rustls = { version = "0.23.45", default-features = false, features = ["tls12", "ring", "logging", "std"] }
|
|
38
38
|
rustls-pemfile = "2.2.0"
|
|
39
39
|
# Default features would bring aws-lc-rs. Everything here uses ring, and a
|
|
40
40
|
# second crypto provider compiled into the wheel is weight nothing calls.
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: nitro-framework
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.2
|
|
4
4
|
Classifier: Development Status :: 3 - Alpha
|
|
5
5
|
Classifier: Framework :: AsyncIO
|
|
6
6
|
Classifier: Intended Audience :: Developers
|
|
7
7
|
Classifier: Programming Language :: Python :: 3
|
|
8
8
|
Classifier: Programming Language :: Python :: 3.13
|
|
9
9
|
Classifier: Programming Language :: Python :: 3.14
|
|
10
|
+
Classifier: Programming Language :: Python :: 3.15
|
|
10
11
|
Classifier: Programming Language :: Rust
|
|
11
12
|
Classifier: Topic :: Internet :: WWW/HTTP
|
|
12
13
|
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
|
|
@@ -34,7 +35,7 @@ Requires-Dist: pytest-asyncio>=1.0 ; extra == 'dev'
|
|
|
34
35
|
Requires-Dist: pytest-timeout>=2.4 ; extra == 'dev'
|
|
35
36
|
Requires-Dist: cryptography>=50.0.0 ; extra == 'dev'
|
|
36
37
|
Requires-Dist: websockets>=15 ; extra == 'dev'
|
|
37
|
-
Requires-Dist: aioquic>=1.3 ; extra == 'dev'
|
|
38
|
+
Requires-Dist: aioquic>=1.3,<1.6 ; extra == 'dev'
|
|
38
39
|
Requires-Dist: authlib>=1.7.2 ; extra == 'email-oauth'
|
|
39
40
|
Requires-Dist: emcache>=1.3.3 ; python_full_version < '3.14' and extra == 'memcached'
|
|
40
41
|
Requires-Dist: redis[hiredis]>=8.0.0 ; extra == 'redis'
|
|
@@ -81,6 +81,13 @@ class SessionStore(Protocol):
|
|
|
81
81
|
outlives an eviction, or one an application already queries for its own
|
|
82
82
|
reasons. :class:`CacheSessionStore` is the default and is enough for state
|
|
83
83
|
that may be lost.
|
|
84
|
+
|
|
85
|
+
A store whose sessions are created elsewhere — rows an application writes
|
|
86
|
+
at sign-in and nowhere else — says so with an ``allocates_keys = False``
|
|
87
|
+
attribute, and :meth:`Session.set` then refuses a bag with no key at the
|
|
88
|
+
write instead of reaching a :meth:`create` that cannot answer. The
|
|
89
|
+
attribute is optional and taken as true when it is absent, since a store
|
|
90
|
+
predating it had no way to get a key but `create`.
|
|
84
91
|
"""
|
|
85
92
|
|
|
86
93
|
async def read(self, key: str) -> dict[str, Any] | None:
|
|
@@ -193,6 +200,23 @@ class Session:
|
|
|
193
200
|
"""Whether the bag has been read. A session nothing touched has not."""
|
|
194
201
|
return self._data is not None
|
|
195
202
|
|
|
203
|
+
async def writable(self) -> bool:
|
|
204
|
+
"""Whether something stored in this bag could be read back.
|
|
205
|
+
|
|
206
|
+
False for a bag with no key in a store that does not allocate them:
|
|
207
|
+
the application creates its sessions itself and this connection is not
|
|
208
|
+
in one. An API token naming no session, and a key whose session has
|
|
209
|
+
expired or been revoked, both arrive here — so a handler storing
|
|
210
|
+
something a later request has to find asks this first.
|
|
211
|
+
|
|
212
|
+
A coroutine rather than a property because the answer is not in the
|
|
213
|
+
key: a key the store has nothing under is dropped when the bag is read,
|
|
214
|
+
and reading it is what settles the question.
|
|
215
|
+
"""
|
|
216
|
+
await self._load()
|
|
217
|
+
|
|
218
|
+
return self._key is not None or getattr(self._store, "allocates_keys", True)
|
|
219
|
+
|
|
196
220
|
async def _load(self) -> dict[str, Any]:
|
|
197
221
|
if self._data is not None:
|
|
198
222
|
return self._data
|
|
@@ -218,7 +242,19 @@ class Session:
|
|
|
218
242
|
return data.get(name, default)
|
|
219
243
|
|
|
220
244
|
async def set(self, name: str, value: Any) -> None:
|
|
221
|
-
"""Store `value` under `name`.
|
|
245
|
+
"""Store `value` under `name`.
|
|
246
|
+
|
|
247
|
+
Raises :class:`SessionError` when the bag has nowhere to be written
|
|
248
|
+
back to, which :meth:`writable` answers without raising. The refusal
|
|
249
|
+
belongs here rather than at the save that would otherwise fail: by then
|
|
250
|
+
the handler has answered the request and the frame that wrote is gone.
|
|
251
|
+
"""
|
|
252
|
+
if not await self.writable():
|
|
253
|
+
raise SessionError(
|
|
254
|
+
f"nothing can be stored under {name!r}: this connection carries no session key, "
|
|
255
|
+
f"and {type(self._store).__name__} does not allocate one"
|
|
256
|
+
)
|
|
257
|
+
|
|
222
258
|
data = await self._load()
|
|
223
259
|
data[name] = value
|
|
224
260
|
self._modified = True
|
|
@@ -82,26 +82,25 @@ class LazySettings:
|
|
|
82
82
|
_wrapped: Settings | None
|
|
83
83
|
|
|
84
84
|
def __init__(self) -> None:
|
|
85
|
-
|
|
85
|
+
self._wrapped = None
|
|
86
86
|
|
|
87
87
|
def _setup(self) -> Settings:
|
|
88
88
|
resolved = Settings(os.environ.get(ENVIRONMENT_VARIABLE))
|
|
89
|
-
|
|
89
|
+
self._wrapped = resolved
|
|
90
90
|
return resolved
|
|
91
91
|
|
|
92
|
+
# An assignment is kept on the proxy, where it shadows the resolved value,
|
|
93
|
+
# rather than written through to the resolved settings. Deleting it then
|
|
94
|
+
# restores what resolution produced, instead of leaving a hole where a
|
|
95
|
+
# default was: `Settings` copies the defaults onto itself, so a name
|
|
96
|
+
# deleted there is gone for the rest of the process. That is what undoing
|
|
97
|
+
# a `monkeypatch.setattr` does, since the name is not one the proxy held.
|
|
92
98
|
def __getattr__(self, name: str) -> Any:
|
|
93
99
|
if name.startswith("_"):
|
|
94
100
|
raise AttributeError(f"{type(self).__name__!r} object has no attribute {name!r}")
|
|
95
101
|
resolved = self._wrapped or self._setup()
|
|
96
102
|
return getattr(resolved, name)
|
|
97
103
|
|
|
98
|
-
def __setattr__(self, name: str, value: Any) -> None:
|
|
99
|
-
if name.startswith("_"):
|
|
100
|
-
object.__setattr__(self, name, value)
|
|
101
|
-
return
|
|
102
|
-
resolved = self._wrapped or self._setup()
|
|
103
|
-
setattr(resolved, name, value)
|
|
104
|
-
|
|
105
104
|
@property
|
|
106
105
|
def configured(self) -> bool:
|
|
107
106
|
"""Whether the settings have been resolved yet."""
|
|
@@ -112,7 +111,7 @@ class LazySettings:
|
|
|
112
111
|
|
|
113
112
|
Intended for tests that change the environment between cases.
|
|
114
113
|
"""
|
|
115
|
-
|
|
114
|
+
self._wrapped = None
|
|
116
115
|
|
|
117
116
|
def __repr__(self) -> str:
|
|
118
117
|
if self._wrapped is None:
|
|
@@ -4,7 +4,7 @@ build-backend = "maturin"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "nitro-framework"
|
|
7
|
-
version = "0.3.
|
|
7
|
+
version = "0.3.2"
|
|
8
8
|
description = "Async-first Python web framework with a bundled Rust server"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.13"
|
|
@@ -19,6 +19,7 @@ classifiers = [
|
|
|
19
19
|
"Programming Language :: Python :: 3",
|
|
20
20
|
"Programming Language :: Python :: 3.13",
|
|
21
21
|
"Programming Language :: Python :: 3.14",
|
|
22
|
+
"Programming Language :: Python :: 3.15",
|
|
22
23
|
"Programming Language :: Rust",
|
|
23
24
|
"Topic :: Internet :: WWW/HTTP",
|
|
24
25
|
"Topic :: Software Development :: Libraries :: Application Frameworks",
|
|
@@ -61,7 +62,10 @@ dev = [
|
|
|
61
62
|
"pytest-timeout>=2.4",
|
|
62
63
|
"cryptography>=50.0.0",
|
|
63
64
|
"websockets>=15",
|
|
64
|
-
|
|
65
|
+
# 1.6.0 checks a response's content-length against the bytes it
|
|
66
|
+
# received without exempting HEAD, so it rejects the HEAD responses
|
|
67
|
+
# RFC 9110 §9.3.2 asks for and drops the events for them.
|
|
68
|
+
"aioquic>=1.3,<1.6",
|
|
65
69
|
]
|
|
66
70
|
|
|
67
71
|
[project.urls]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{nitro_framework-0.3.0 → nitro_framework-0.3.2}/crates/nitro-core/src/transport/connection.rs
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|