Expand description
Progressive Rust web framework primitives for A3S.
a3s-boot is inspired by Nest.js, but keeps the Rust core explicit:
modules organize the graph, providers live in a typed container, controllers
group routes, request pipeline hooks are framework-neutral, and HTTP serving
is delegated to replaceable adapters.
Structs§
- ApiVersioning
- Adapter-neutral API versioning configuration.
- Application
Graph - Read-only module graph snapshot for diagnostics and Nest-style devtools.
- Application
Graph Module - One module node in an
ApplicationGraph. - Axum
Adapter - Axum-backed HTTP adapter.
- Boot
Application - Built application with a resolved module graph and framework-neutral routes.
- Boot
Application Builder - Builder for a
BootApplication. - Boot
Application Context - Managed application context for provider-only hosts and workers.
- Boot
Application Handle - Managed application with idempotent startup and shutdown.
- Boot
Factory - NestFactory-style entrypoint for building managed Boot applications.
- Boot
Microservice - Managed standalone microservice built from Boot message patterns.
- Boot
Request - Framework-neutral HTTP request passed to Boot route handlers.
- Boot
Response - Framework-neutral HTTP response returned by Boot route handlers.
- Catch
Filter - Exception filter wrapper that only handles selected
BootErrorKindvalues. - Controller
Definition - Group routes under a common HTTP prefix, similar to a Nest controller.
- Cookie
Options - Options used by response cookie helpers.
- Default
Value Pipe - Built-in Nest-style pipe that replaces missing optional values with a default.
- Discovered
Gateway - Snapshot of a resolved WebSocket gateway.
- Discovered
Message Pattern - Snapshot of a resolved microservice message pattern.
- Discovered
Module - Snapshot of a registered module and its local providers.
- Discovered
Route - Snapshot of a resolved HTTP route.
- Discovery
Service - Read-only discovery snapshot for a built Boot application.
- Dynamic
Module - Runtime-built module for configuration-driven imports and providers.
- Execution
Context - Context visible to guards, interceptors, pipes, and filters.
- InProcess
Transport - In-process transport useful for tests and single-process message dispatch.
- InProcess
Transport Client - In-process message client backed by a resolved Boot application.
- Lazy
Loaded Module - Provider-only reference returned by
LazyModuleLoader. - Lazy
Module Loader - Nest-style lazy module loader for provider-only module graphs.
- Message
Pattern Definition - Framework-neutral message pattern handler definition.
- Middleware
Consumer - Nest-style route-scoped middleware configuration.
- Middleware
Consumer Builder - Middleware
Route - Route selector used by
MiddlewareConsumer. - Module
Ref - Runtime provider container. This is Boot’s Rust equivalent of Nest’s ModuleRef.
- Open
ApiComponents - OpenAPI components generated or registered by routes.
- Open
ApiDocument - OpenAPI document generated from resolved Boot routes.
- Open
ApiExample - Named OpenAPI media example.
- Open
ApiExternal Docs - OpenAPI external documentation link.
- Open
ApiHeader - OpenAPI response header metadata.
- Open
ApiInfo - Basic OpenAPI document information.
- Open
ApiMedia Type - OpenAPI media type metadata.
- Open
ApiO Auth Flow - OpenAPI OAuth flow metadata.
- Open
ApiO Auth Flows - OpenAPI OAuth flow map.
- Open
ApiOperation - OpenAPI operation metadata for one Boot route.
- Open
ApiParameter - OpenAPI parameter metadata.
- Open
ApiPath Item - OpenAPI path item containing operations keyed by HTTP method.
- Open
ApiRef - OpenAPI Reference Object.
- Open
ApiRequest Body - OpenAPI request body metadata.
- Open
ApiResponse - OpenAPI response metadata.
- Open
ApiRoute Metadata - Route-level OpenAPI metadata carried by
RouteDefinition. - Open
ApiSchema - OpenAPI schema value. This intentionally stays schema-crate neutral.
- Open
ApiSecurity Scheme - OpenAPI security scheme metadata registered by routes.
- Open
ApiServer - OpenAPI server entry.
- Open
ApiTag - OpenAPI tag entry.
- Parse
Array Pipe - Built-in Nest-style pipe that parses separated request values into arrays.
- Parse
Array Separator Pipe - Built-in Nest-style pipe that parses request values with a custom separator.
- Parse
Bool Pipe - Built-in Nest-style pipe that parses boolean request values.
- Parse
Enum Pipe - Built-in Nest-style pipe that parses enum-like request values through
FromStr. - Parse
Float Pipe - Built-in Nest-style pipe that parses floating point request values.
- Parse
IntPipe - Built-in Nest-style pipe that parses integer request values.
- Parse
Uuid Pipe - Built-in Nest-style pipe that validates UUID request values.
- Parse
Uuid Version Pipe - Built-in Nest-style pipe that validates UUID request values with a version constraint.
- Provider
Definition - A provider registration, similar to a Nest provider entry.
- Provider
Ref - Lazy provider handle for forward-reference-style dependencies.
- Provider
Token - Stable lookup key for an injectable provider.
- Reflector
- Metadata lookup helper over a discovery snapshot.
- Response
Passthrough - Request-bound response metadata handle for Nest-style passthrough response decorators.
- Route
Definition - A framework-neutral route definition.
- Route
Match - Resolved route and decoded path parameters for a method/path lookup.
- Serialization
Interceptor - Interceptor that shapes JSON response objects using route serialization metadata.
- Serialization
Options - JSON response shaping options used by
SerializationInterceptor. - SseEvent
- Streamable
File - Adapter-neutral file response body, similar to Nest’s
StreamableFile. - Streamable
File Options - Options for Nest-style streamable file responses.
- String
Template View Engine - Small string-template engine for tests and lightweight HTML responses.
- Testing
Module - Compiled test module with an in-process
BootApplication. - Testing
Module Builder - Builder for Nest-style test modules.
- Transport
Context - Context available to transport guards and interceptors.
- Transport
Exception Response - Handled transport exception response.
- Transport
Execution Context - Transport-specific execution details.
- Transport
Message - Adapter-neutral microservice transport message.
- Transport
Reply - Reply returned by request-response message pattern handlers.
- Validation
Options - Options for route-level DTO validation.
- View
Module - Module that registers a
ViewRendererprovider. - View
Renderer - Provider that renders view names into HTML responses.
- WebSocket
Context - Context available to WebSocket guards and interceptors.
- WebSocket
Exception Response - Handled WebSocket exception response.
- WebSocket
Execution Context - WebSocket-specific execution details.
- WebSocket
Gateway Connection - In-process WebSocket gateway connection used by adapters and tests.
- WebSocket
Gateway Definition - Framework-neutral WebSocket gateway definition.
- WebSocket
Gateway Init Context - Context passed to WebSocket gateway initialization hooks.
- WebSocket
Gateway Server - Adapter-neutral gateway server handle for broadcasting and connection lookup.
- WebSocket
Message - Adapter-neutral WebSocket message used by gateways and adapters.
- WebSocket
Subscription Definition - Handler definition for one WebSocket subscription.
Enums§
- ApiVersioning
Strategy - Application-wide API version extraction strategy.
- Boot
Error - Errors returned while building or serving a Boot application.
- Boot
Error Kind - Stable category for a
BootError, useful for Nest-style catch filters. - Cookie
Same Site - SameSite attribute used for response cookies.
- Execution
Protocol - Protocol handled by an
ExecutionContext. - Execution
Transport Kind - Transport handler style visible through protocol-neutral execution context.
- Http
Method - HTTP method understood by Boot route definitions.
- Message
Pattern Kind - Middleware
Outcome - Result of running a middleware.
- Open
ApiApi KeyLocation - Location for OpenAPI API key security schemes.
- Open
ApiParameter Location - OpenAPI parameter location.
- Open
ApiReference Or - Either an inline OpenAPI object or a Reference Object.
- Provider
Scope - Lifetime strategy for provider resolution.
- Route
Versioning - Version metadata attached to a route or controller.
- Shutdown
Signal - Shutdown signal names understood by Nest-style shutdown hooks.
- Uuid
Version - UUID versions accepted by
ParseUuidVersionPipe.
Traits§
- Exception
Filter - Maps route/pipeline errors to HTTP responses.
- Execution
Interceptor - Protocol-neutral observer that can run around HTTP, WebSocket, or transport handlers.
- From
Module Ref - Builds an injectable value from the module provider graph.
- Guard
- Decides whether a route handler can run.
- Http
Adapter - Adapter that turns a Boot application into a concrete HTTP server/router.
- Interceptor
- Runs around the handler for cross-cutting behavior.
- Into
Transport Reply - Return value accepted by request-response message pattern handlers.
- Into
WebSocket Reply - Return value accepted by WebSocket gateway handlers.
- Message
Transport - Adapter trait for message transports such as in-process, Redis, NATS, or Kafka.
- Middleware
- Request middleware that runs before guards, interceptors, pipes, and handlers.
- Module
- A module contributes imports, providers, controllers, and routes.
- Parse
Float Target - Parse
IntTarget - Pipe
- Transforms a request after guards and interceptor
beforehooks, before handlers run. - Provider
Before Application Shutdown - Lifecycle hook for singleton providers that need async work before listeners close.
- Provider
OnApplication Bootstrap - Lifecycle hook for singleton providers that need async startup work.
- Provider
OnApplication Shutdown - Lifecycle hook for singleton providers that need async shutdown cleanup.
- Provider
OnModule Destroy - Lifecycle hook for singleton providers that need async teardown before shutdown starts.
- Provider
OnModule Init - Lifecycle hook for singleton providers that need synchronous module init work.
- Request
Extractor - Custom request value extractor used by Nest-style controller argument binding.
- Request
Value Pipe - Transforms a single request value extracted from a path, query, header, or host parameter.
- Route
Handler - Type-erased route handler used by adapters.
- Transport
Exception Filter - Maps transport pipeline errors to protocol replies.
- Transport
Guard - Authorization hook for transport message patterns.
- Transport
Interceptor - Around-handler hook for transport message patterns.
- Transport
Pipe - Message transformation hook for transport message patterns.
- Validate
- DTO validation hook used by validating route helpers and controller macros.
- Validation
Schema - Field metadata used by Nest-style whitelist validation options.
- View
Engine - Rendering backend for Nest-style MVC view responses.
- WebSocket
Connection - Adapter-neutral WebSocket connection.
- WebSocket
Exception Filter - Maps WebSocket gateway errors to outbound messages.
- WebSocket
Gateway Connection Hook - Hook invoked when a WebSocket client connects to a gateway.
- WebSocket
Gateway Disconnect Hook - Hook invoked when a WebSocket client disconnects from a gateway.
- WebSocket
Gateway Init Hook - Hook invoked when a WebSocket gateway is initialized during application bootstrap.
- WebSocket
Guard - Authorization hook for WebSocket gateway messages.
- WebSocket
Interceptor - Around-handler hook for WebSocket gateway messages.
- WebSocket
Outbound - Outbound writer for adapter-backed WebSocket connections.
- WebSocket
Pipe - Message transformation hook for WebSocket gateways.
Functions§
- catch_
errors - Build a Nest-style catch filter for selected
BootErrorKindvalues. - extract_
request_ value - openapi_
schema_ name - transform_
request_ value - wait_
for_ shutdown_ signal - Wait for one configured operating-system shutdown signal.
Type Aliases§
- BoxFuture
- Boxed future used by adapter traits.
- Open
ApiSecurity Requirement - OpenAPI security requirement object.
- Result
- Result type used by A3S Boot.
- SseStream
- Streamable
File Stream
Attribute Macros§
- all
- api_
cookie_ auth - api_
extension - api_
extra_ model - api_
header - api_
key_ auth - api_
param - api_
query - api_
response_ header - api_
security - apply_
decorators - bearer_
auth - body
- catch
- controller
- cookie
- cookies
- delete
- delete_
json - event_
pattern - extract
- get
- get_
json - head
- header
- headers
- hide_
from_ openapi - host
- host_
param - http_
code - injectable
- ip
- message_
body - message_
controller - message_
pattern - metadata
- module
- oauth2_
auth - on_
gateway_ connection - on_
gateway_ disconnect - on_
gateway_ init - open_
id_ connect_ auth - operation
- options
- param
- params
- patch
- patch_
json - payload
- post
- post_
json - put
- put_
json - query
- redirect
- render
- request
- request_
body - res
- response
- serialize
- skip_
validation - sse
- subscribe_
message - tag
- use_
filter - use_
guard - use_
interceptor - use_
pipe - validate
- version
- version_
neutral - versions
- websocket_
gateway