Expand description
§Reinhardt Core
Core components for the Reinhardt framework, providing fundamental types, exception handling, signals, macros, security, and validation utilities.
§Available Validators
The validators crate provides comprehensive validation utilities:
- IPAddressValidator: IPv4/IPv6 address validation
- PhoneNumberValidator: International phone number validation (E.164)
- CreditCardValidator: Credit card validation with Luhn algorithm
- IBANValidator: International bank account number validation
- ColorValidator: Hex, RGB, HSL color validation
- FileTypeValidator: MIME type and extension validation
- CustomRegexValidator: User-defined regex pattern validation
§Available Backend Implementations
The backends crate provides multiple backend implementations:
- Cache Backends: Redis (✅), DynamoDB (✅), Memcached (✅)
- Email Backends: SMTP (✅), SendGrid (✅), AWS SES (✅), Mailgun (✅)
- Queue Backends: Redis (✅), RabbitMQ (✅), AWS SQS (✅)
- Session Backends: JWT (✅), Database (✅), Redis (✅), Cookie (✅), File (✅)
- Storage Backends: S3 (✅), Azure Blob (✅), GCS (✅), FileSystem (✅), Memory (✅)
For detailed implementation and usage information, see the individual
crate documentation in reinhardt-db, reinhardt-auth, reinhardt-mail,
and reinhardt-tasks.
§Quick Start
use reinhardt_core::exception::{Error, ErrorKind};
// Create a typed application error
let err = Error::NotFound("Resource not found".to_string());
assert_eq!(err.kind(), ErrorKind::NotFound);§Architecture
Key modules in this crate:
exception: Typed error hierarchy for HTTP and application-level errorstypes: Fundamental types (URL, money, phone number, color, coordinates)signals: Django-style signal/slot system for decoupled event handlingsecurity: Password hashing, CSRF, XSS prevention, and security utilitiesvalidators: Comprehensive input validation (IP, IBAN, phone, credit card)serializers: Data serialization and deserialization framework- [
pagination]: Cursor, page number, and limit-offset pagination strategies - [
parsers]: Request body parsing (JSON, form, multipart) - [
negotiation]: HTTP content negotiation utilities
§Feature Flags
| Feature | Default | Description |
|---|---|---|
types | enabled | Core type definitions |
exception | enabled | Error hierarchy and HTTP status mapping |
signals | enabled | Async signal/slot system |
macros | enabled | Procedural macros re-export |
security | enabled | Password hashing and security utilities |
validators | enabled | Comprehensive input validation |
serializers | enabled | Data serialization framework |
parsers | disabled | Request body parsers |
pagination | disabled | Pagination strategies |
negotiation | disabled | HTTP content negotiation |
messages | disabled | Flash message storage |
page | disabled | Server-side page rendering types |
reactive | disabled | Reactive state management |
serde | disabled | Serde serialization support |
json | disabled | JSON serialization support |
xml | disabled | XML serialization support |
yaml | disabled | YAML serialization support |
parallel | disabled | Parallel processing with Rayon |
i18n | disabled | Internationalization with Fluent |
Re-exports§
pub use apply_update::ApplyUpdate;pub use crate::rate_limit::RateLimitStrategy;pub use reinhardt_macros as macros;pub use tokio;
Modules§
- apply_
update - Trait for applying partial updates to target structs.
- endpoint
- HTTP endpoint routing and handler registration. Endpoint metadata trait for HTTP Method Macros
- exception
- Error types and exception handling.
- rate_
limit - Rate limiting strategies. Rate limiting types and strategies.
- security
- Security utilities (password hashing, CSRF, etc.).
- serde
- Re-export of serde serialization types and serde_json.
- serializers
- Data serialization framework.
- signals
- Signal/event dispatch system.
- types
- Core type definitions. Core type definitions and common types for the Reinhardt framework.
- validators
- Field and data validators. Advanced validators for Reinhardt
Macros§
- connect_
receiver - Helper macro for connecting receivers with a simpler syntax