Files
NebulaShell/store/@{FutureOSS}/http-api
Falck f894e55602 清理冗余路由代码,修复首页标题与模板安全
- 简化 http-api/http-tcp/web-toolkit 的 router.py,抽取重复代码
- 修复 ws-api middleware 中间件返回值传递问题
- 修复 web-toolkit template.py 安全漏洞 (eval → AST 验证)
- 将首页标题从 "OSS Runtime" 改为 "Future OSS"
- 更新 README.md 与 static/banner.svg
- 新增 i18n 国际化插件 (骨架)
- 新增 oss/shared/ 共享模块
2026-04-06 12:40:49 +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
    }
  }
}