spikard 0.3.5 → 0.5.0
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.
- checksums.yaml +4 -4
- data/LICENSE +1 -1
- data/README.md +674 -659
- data/ext/spikard_rb/Cargo.toml +17 -17
- data/ext/spikard_rb/extconf.rb +10 -10
- data/ext/spikard_rb/src/lib.rs +6 -6
- data/lib/spikard/app.rb +405 -386
- data/lib/spikard/background.rb +27 -27
- data/lib/spikard/config.rb +396 -396
- data/lib/spikard/converters.rb +13 -13
- data/lib/spikard/handler_wrapper.rb +113 -113
- data/lib/spikard/provide.rb +214 -214
- data/lib/spikard/response.rb +173 -173
- data/lib/spikard/schema.rb +243 -243
- data/lib/spikard/sse.rb +111 -111
- data/lib/spikard/streaming_response.rb +44 -44
- data/lib/spikard/testing.rb +256 -221
- data/lib/spikard/upload_file.rb +131 -131
- data/lib/spikard/version.rb +5 -5
- data/lib/spikard/websocket.rb +59 -59
- data/lib/spikard.rb +43 -43
- data/sig/spikard.rbs +366 -360
- data/vendor/crates/spikard-bindings-shared/Cargo.toml +63 -0
- data/vendor/crates/spikard-bindings-shared/examples/config_extraction.rs +132 -0
- data/vendor/crates/spikard-bindings-shared/src/config_extractor.rs +752 -0
- data/vendor/crates/spikard-bindings-shared/src/conversion_traits.rs +194 -0
- data/vendor/crates/spikard-bindings-shared/src/di_traits.rs +246 -0
- data/vendor/crates/spikard-bindings-shared/src/error_response.rs +401 -0
- data/vendor/crates/spikard-bindings-shared/src/handler_base.rs +238 -0
- data/vendor/crates/spikard-bindings-shared/src/lib.rs +24 -0
- data/vendor/crates/spikard-bindings-shared/src/lifecycle_base.rs +292 -0
- data/vendor/crates/spikard-bindings-shared/src/lifecycle_executor.rs +616 -0
- data/vendor/crates/spikard-bindings-shared/src/response_builder.rs +305 -0
- data/vendor/crates/spikard-bindings-shared/src/test_client_base.rs +248 -0
- data/vendor/crates/spikard-bindings-shared/src/validation_helpers.rs +351 -0
- data/vendor/crates/spikard-bindings-shared/tests/comprehensive_coverage.rs +454 -0
- data/vendor/crates/spikard-bindings-shared/tests/error_response_edge_cases.rs +383 -0
- data/vendor/crates/spikard-bindings-shared/tests/handler_base_integration.rs +280 -0
- data/vendor/crates/spikard-core/Cargo.toml +40 -40
- data/vendor/crates/spikard-core/src/bindings/mod.rs +3 -3
- data/vendor/crates/spikard-core/src/bindings/response.rs +133 -133
- data/vendor/crates/spikard-core/src/debug.rs +127 -63
- data/vendor/crates/spikard-core/src/di/container.rs +702 -726
- data/vendor/crates/spikard-core/src/di/dependency.rs +273 -273
- data/vendor/crates/spikard-core/src/di/error.rs +118 -118
- data/vendor/crates/spikard-core/src/di/factory.rs +534 -538
- data/vendor/crates/spikard-core/src/di/graph.rs +506 -545
- data/vendor/crates/spikard-core/src/di/mod.rs +192 -192
- data/vendor/crates/spikard-core/src/di/resolved.rs +405 -411
- data/vendor/crates/spikard-core/src/di/value.rs +281 -283
- data/vendor/crates/spikard-core/src/errors.rs +69 -39
- data/vendor/crates/spikard-core/src/http.rs +415 -153
- data/vendor/crates/spikard-core/src/lib.rs +29 -29
- data/vendor/crates/spikard-core/src/lifecycle.rs +1186 -422
- data/vendor/crates/spikard-core/src/metadata.rs +389 -0
- data/vendor/crates/spikard-core/src/parameters.rs +2525 -722
- data/vendor/crates/spikard-core/src/problem.rs +344 -310
- data/vendor/crates/spikard-core/src/request_data.rs +1154 -189
- data/vendor/crates/spikard-core/src/router.rs +510 -249
- data/vendor/crates/spikard-core/src/schema_registry.rs +183 -183
- data/vendor/crates/spikard-core/src/type_hints.rs +304 -304
- data/vendor/crates/spikard-core/src/validation/error_mapper.rs +688 -0
- data/vendor/crates/spikard-core/src/{validation.rs → validation/mod.rs} +457 -699
- data/vendor/crates/spikard-http/Cargo.toml +64 -68
- data/vendor/crates/spikard-http/examples/sse-notifications.rs +148 -0
- data/vendor/crates/spikard-http/examples/websocket-chat.rs +92 -0
- data/vendor/crates/spikard-http/src/auth.rs +296 -247
- data/vendor/crates/spikard-http/src/background.rs +1860 -249
- data/vendor/crates/spikard-http/src/bindings/mod.rs +3 -3
- data/vendor/crates/spikard-http/src/bindings/response.rs +1 -1
- data/vendor/crates/spikard-http/src/body_metadata.rs +8 -8
- data/vendor/crates/spikard-http/src/cors.rs +1005 -490
- data/vendor/crates/spikard-http/src/debug.rs +128 -63
- data/vendor/crates/spikard-http/src/di_handler.rs +1668 -423
- data/vendor/crates/spikard-http/src/handler_response.rs +901 -190
- data/vendor/crates/spikard-http/src/handler_trait.rs +830 -228
- data/vendor/crates/spikard-http/src/handler_trait_tests.rs +290 -284
- data/vendor/crates/spikard-http/src/lib.rs +534 -529
- data/vendor/crates/spikard-http/src/lifecycle/adapter.rs +230 -149
- data/vendor/crates/spikard-http/src/lifecycle.rs +1193 -428
- data/vendor/crates/spikard-http/src/middleware/mod.rs +540 -285
- data/vendor/crates/spikard-http/src/middleware/multipart.rs +912 -86
- data/vendor/crates/spikard-http/src/middleware/urlencoded.rs +513 -147
- data/vendor/crates/spikard-http/src/middleware/validation.rs +735 -287
- data/vendor/crates/spikard-http/src/openapi/mod.rs +309 -309
- data/vendor/crates/spikard-http/src/openapi/parameter_extraction.rs +535 -190
- data/vendor/crates/spikard-http/src/openapi/schema_conversion.rs +1363 -308
- data/vendor/crates/spikard-http/src/openapi/spec_generation.rs +665 -195
- data/vendor/crates/spikard-http/src/query_parser.rs +793 -369
- data/vendor/crates/spikard-http/src/response.rs +720 -399
- data/vendor/crates/spikard-http/src/server/handler.rs +1650 -87
- data/vendor/crates/spikard-http/src/server/lifecycle_execution.rs +234 -98
- data/vendor/crates/spikard-http/src/server/mod.rs +1502 -805
- data/vendor/crates/spikard-http/src/server/request_extraction.rs +770 -119
- data/vendor/crates/spikard-http/src/server/routing_factory.rs +599 -0
- data/vendor/crates/spikard-http/src/sse.rs +1409 -447
- data/vendor/crates/spikard-http/src/testing/form.rs +52 -14
- data/vendor/crates/spikard-http/src/testing/multipart.rs +60 -60
- data/vendor/crates/spikard-http/src/testing/test_client.rs +283 -285
- data/vendor/crates/spikard-http/src/testing.rs +377 -377
- data/vendor/crates/spikard-http/src/websocket.rs +1375 -324
- data/vendor/crates/spikard-http/tests/background_behavior.rs +832 -0
- data/vendor/crates/spikard-http/tests/common/handlers.rs +309 -0
- data/vendor/crates/spikard-http/tests/common/mod.rs +26 -0
- data/vendor/crates/spikard-http/tests/di_integration.rs +192 -0
- data/vendor/crates/spikard-http/tests/doc_snippets.rs +5 -0
- data/vendor/crates/spikard-http/tests/lifecycle_execution.rs +1093 -0
- data/vendor/crates/spikard-http/tests/multipart_behavior.rs +656 -0
- data/vendor/crates/spikard-http/tests/server_config_builder.rs +314 -0
- data/vendor/crates/spikard-http/tests/sse_behavior.rs +620 -0
- data/vendor/crates/spikard-http/tests/websocket_behavior.rs +663 -0
- data/vendor/crates/spikard-rb/Cargo.toml +48 -42
- data/vendor/crates/spikard-rb/build.rs +199 -8
- data/vendor/crates/spikard-rb/src/background.rs +63 -63
- data/vendor/crates/spikard-rb/src/config/mod.rs +5 -0
- data/vendor/crates/spikard-rb/src/{config.rs → config/server_config.rs} +285 -294
- data/vendor/crates/spikard-rb/src/conversion.rs +554 -453
- data/vendor/crates/spikard-rb/src/di/builder.rs +100 -0
- data/vendor/crates/spikard-rb/src/{di.rs → di/mod.rs} +375 -409
- data/vendor/crates/spikard-rb/src/handler.rs +618 -625
- data/vendor/crates/spikard-rb/src/integration/mod.rs +3 -0
- data/vendor/crates/spikard-rb/src/lib.rs +1810 -2771
- data/vendor/crates/spikard-rb/src/lifecycle.rs +275 -274
- data/vendor/crates/spikard-rb/src/metadata/mod.rs +5 -0
- data/vendor/crates/spikard-rb/src/metadata/route_extraction.rs +447 -0
- data/vendor/crates/spikard-rb/src/runtime/mod.rs +5 -0
- data/vendor/crates/spikard-rb/src/runtime/server_runner.rs +324 -0
- data/vendor/crates/spikard-rb/src/server.rs +308 -283
- data/vendor/crates/spikard-rb/src/sse.rs +231 -231
- data/vendor/crates/spikard-rb/src/{test_client.rs → testing/client.rs} +551 -404
- data/vendor/crates/spikard-rb/src/testing/mod.rs +7 -0
- data/vendor/crates/spikard-rb/src/{test_sse.rs → testing/sse.rs} +143 -143
- data/vendor/crates/spikard-rb/src/testing/websocket.rs +635 -0
- data/vendor/crates/spikard-rb/src/websocket.rs +374 -233
- metadata +46 -13
- data/vendor/crates/spikard-http/src/parameters.rs +0 -1
- data/vendor/crates/spikard-http/src/problem.rs +0 -1
- data/vendor/crates/spikard-http/src/router.rs +0 -1
- data/vendor/crates/spikard-http/src/schema_registry.rs +0 -1
- data/vendor/crates/spikard-http/src/type_hints.rs +0 -1
- data/vendor/crates/spikard-http/src/validation.rs +0 -1
- data/vendor/crates/spikard-rb/src/test_websocket.rs +0 -221
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
pub mod response;
|
|
2
|
-
|
|
3
|
-
pub use response::{RawResponse, StaticAsset};
|
|
1
|
+
pub mod response;
|
|
2
|
+
|
|
3
|
+
pub use response::{RawResponse, StaticAsset};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
pub use spikard_core::bindings::response::*;
|
|
1
|
+
pub use spikard_core::bindings::response::*;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
//! Shared metadata stored on `http::Response` extensions.
|
|
2
|
-
|
|
3
|
-
/// Extension type storing the original, uncompressed response body size in bytes.
|
|
4
|
-
///
|
|
5
|
-
/// Middleware (like compression) can inspect this to make deterministic decisions
|
|
6
|
-
/// even when the final body length would otherwise require buffering.
|
|
7
|
-
#[derive(Debug, Clone, Copy)]
|
|
8
|
-
pub struct ResponseBodySize(pub usize);
|
|
1
|
+
//! Shared metadata stored on `http::Response` extensions.
|
|
2
|
+
|
|
3
|
+
/// Extension type storing the original, uncompressed response body size in bytes.
|
|
4
|
+
///
|
|
5
|
+
/// Middleware (like compression) can inspect this to make deterministic decisions
|
|
6
|
+
/// even when the final body length would otherwise require buffering.
|
|
7
|
+
#[derive(Debug, Clone, Copy)]
|
|
8
|
+
pub struct ResponseBodySize(pub usize);
|