实现内容: 1. 新增 fcgi_handler.h / fcgi_handler.c 模块: - FastCGI 协议核心(BEGIN_REQUEST / PARAMS / STDIN / FCGI_END_REQUEST) - CGI 参数构建(REQUEST_METHOD, SCRIPT_NAME, PATH_INFO, QUERY_STRING 等) - HTTP 响应解析(Status 头提取、默认 200 回退) - 连接池(TCP / Unix Socket 复用)与路由匹配 2. 配置解析扩展(config.c): - 支持 --fastcgi-prefix / --fastcgi-target 等命令行参数 - 支持配置文件的 fastcgi 规则段 - 最大 4 条规则,可配置 pool_size、timeout_ms、unix_socket 3. 请求处理链集成(server.c): - handle_request 中反向代理之后、静态资源之前插入 FastCGI 分发 - server_context 添加 fcgi_config 字段 - server_create / server_destroy 中初始化/销毁连接池 4. Makefile 更新: - 加入 fcgi_handler.c 编译目标 - 测试规则同步更新 5. .gitignore 修复:拆分 tests/fixtures/uploads/ 为独立规则 测试:458 单元测试 + 115 集成测试全部通过 关联:Phase 5 应用网关 — FastCGI 服务器集成
18 lines
350 B
Plaintext
18 lines
350 B
Plaintext
# 忽略构建产物
|
|
*.o
|
|
cocoon
|
|
|
|
# 忽略测试二进制文件和上传目录
|
|
# tests/unit/test_* # 这条规则太宽泛,会忽略 .c 源文件
|
|
tests/unit/test_*
|
|
!tests/unit/test_*.c
|
|
|
|
# 测试编译产物(无后缀名的二进制文件)
|
|
tests/unit/test_*
|
|
!tests/unit/test_*.c
|
|
|
|
# 上传目录
|
|
tests/fixtures/uploads/
|
|
plugins/*.so
|
|
www/uploads/
|