Files
NebulaShell/store/@{FutureOSS}/http-api
qwen.ai[bot] 97ced1b5e6 Title: Implement minimal core framework with PL injection and update build config
Key features implemented:
- Updated package metadata and dependencies in PKG-INFO, setup files
- Added main.py entry point for backward compatibility with README launch method
- Enhanced CLI with config options, system info command, and proper signal handling
- Implemented minimal PluginManager loading only plugin-loader core plugin
- Refactored PluginLoader to follow minimal core design, removed sandbox/isolation complexity
- Updated auto-dependency plugin with safer PL injection mechanism and disabled pl_injection
- Removed legacy plugin files (firewall, frp_proxy, ftp_server, multi_lang_deploy, ops_toolbox, security_gateway) as functionality moved to core plugin system
- Improved gitignore with comprehensive ignore patterns

The changes implement a minimal core framework design where only the plugin-loader is directly loaded by the core, with all other plugins managed through the PL injection mechanism, significantly simplifying the architecture.
2026-04-25 10:47:26 +00:00
..
2026-04-17 23:15:15 +08:00
2026-04-17 23:15:15 +08:00

http-api HTTP API 服务

提供 HTTP RESTful API 服务,支持路由、中间件等功能。

功能

  • HTTP 服务器GET/POST/PUT/DELETE
  • 路由匹配(支持参数路由 :id
  • 中间件链CORS/日志/限流)
  • 分散式布局(每个文件 < 200 行)

路由使用

# 在插件中获取 router
http_plugin = plugin_mgr.get("http-api")
router = http_plugin.router

# 添加路由
router.get("/health", lambda req: Response(status=200, body='{"status": "ok"}'))
router.get("/api/users", handle_users)
router.post("/api/users", handle_create_user)
router.get("/api/users/:id", handle_user_by_id)

中间件

middleware = http_plugin.middleware

# 添加自定义中间件
class MyMiddleware(Middleware):
    def process(self, ctx, next_fn):
        # 前置处理
        resp = next_fn()  # 继续执行
        # 后置处理
        return resp

middleware.add(MyMiddleware())

配置

{
  "config": {
    "args": {
      "host": "0.0.0.0",
      "port": 8080
    }
  }
}