mockforge_core/request_capture/
mod.rs

1//! Request capture system for contract diff analysis
2//!
3//! This module provides multi-source request capture capabilities for analyzing
4//! front-end requests against backend contract specifications.
5//!
6//! # Capture Sources
7//!
8//! - **Browser Extension/SDK**: Captures requests from browser-based applications
9//! - **Proxy Middleware**: Captures requests passing through MockForge proxy
10//! - **Manual Upload**: Allows users to upload request data via API
11//! - **API Endpoint**: REST API for programmatic request submission
12//!
13//! # Example Usage
14//!
15//! ```rust,no_run
16//! use mockforge_core::request_capture::{CaptureManager, CaptureSource};
17//! use mockforge_core::ai_contract_diff::CapturedRequest;
18//!
19//! # async fn example() -> mockforge_core::Result<()> {
20//! // Create capture manager
21//! let manager = CaptureManager::new(1000); // Keep last 1000 requests
22//!
23//! // Capture a request from browser extension
24//! let request = CapturedRequest::new("POST", "/api/users", "browser_extension")
25//!     .with_body(serde_json::json!({"name": "Alice"}));
26//!
27//! manager.capture(request).await?;
28//!
29//! // Retrieve captured requests
30//! let requests = manager.get_recent_captures(Some(10)).await;
31//! # Ok(())
32//! # }
33//! ```
34
35pub mod capture_manager;
36
37// Re-export main types and functions
38pub use capture_manager::{
39    capture_request_global, get_global_capture_manager, init_global_capture_manager,
40    CaptureManager, CaptureMetadata, CaptureQuery,
41};