1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
//! Middleware system for query interception.
//!
//! This module provides a flexible middleware system that allows intercepting
//! queries before and after execution. Use cases include:
//!
//! - **Logging** - Log all queries and their execution times
//! - **Metrics** - Collect query performance metrics
//! - **Caching** - Cache query results
//! - **Authentication** - Add tenant/user context to queries
//! - **Retry logic** - Automatically retry failed queries
//! - **Circuit breaking** - Prevent cascade failures
//!
//! # Example
//!
//! ```rust,ignore
//! use prax_query::middleware::{Middleware, MiddlewareStack, LoggingMiddleware};
//!
//! // Create a middleware stack
//! let mut stack = MiddlewareStack::new();
//! stack.push(LoggingMiddleware::new());
//! stack.push(MetricsMiddleware::new());
//!
//! // Use with an engine
//! let engine = engine.with_middleware(stack);
//! ```
pub use ;
pub use ;
pub use ;
pub use ;
pub use ;
pub use ;
pub use ;