# rmock **Repository Path**: leongle/rmock ## Basic Information - **Project Name**: rmock - **Description**: 基于 rust 语言实现的 mock 服务,具有稳定、高效、易用和可扩展的特点。 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-02 - **Last Updated**: 2026-05-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # rMock Server 一个用 Rust 实现的 HTTP Mock Server,基于领域驱动设计(DDD)。 ## 功能特性 - HTTP 请求响应模拟 - Python 插件支持 - WASM 插件支持 - Git 配置管理 - 规则延迟和超时 - 条件请求处理 - Protobuf 支持 - Web UI 管理界面 ## 快速开始 ### 编译项目 ```bash cargo build --release ``` ### 运行服务 ```bash cargo run --release ``` 服务默认运行在 `http://localhost:5002` ### 使用 Web UI 在浏览器中打开 `http://localhost:5002` 访问管理界面。 ## 插件开发 ### Python 插件 创建 Python 插件,实现 `process_request` 和 `process_response` 函数: ```python import json def process_request(request_json: str, rule_config_json: str) -> str: request = json.loads(request_json) request['modified_by_plugin'] = 'my_plugin' return json.dumps(request) def process_response(response_json: str, rule_config_json: str) -> str: response = json.loads(response_json) response['plugin_processed'] = True return json.dumps(response) ``` ### WASM 插件 创建 WASM 插件,实现 `process_request` 和 `process_response` 函数。 ## 技术栈 - **Axum**: Web 框架 - **Tokio**: 异步运行时 - **Rusqlite**: SQLite 数据库 - **PyO3**: Python 集成 - **Wasmtime**: WASM 运行时 - **Serde**: 序列化/反序列化 ## 项目结构 ``` rmock-server/ ├── src/ │ ├── api/ # API 层 │ ├── application/ # 应用服务层 │ ├── domain/ # 领域层 │ ├── infrastructure/ # 基础设施层 │ └── bin/ # 二进制文件 ├── plugins/ # 插件目录 │ ├── python/ # Python 插件 │ └── wasm/ # WASM 插件 ├── static/ # 静态文件 └── tests/ # 测试 ``` ## 许可证 MIT License