根本问题: - HTTP服务器固定4KB缓冲区导致大JSON请求被截断 - 批量删除多个组件时请求体超过缓冲区限制 核心修复: - HttpServer: 实现ReadCompleteRequest方法支持动态缓冲区 - 基于Content-Length头完整读取HTTP请求体 - Config: 添加MAX_REQUEST_SIZE=1MB上限保护机制 - 支持任意数量组件路径的批量删除操作 修复效果: - 解决11个、25个路径批量删除失败问题 - 修复薄壳化分析等大JSON请求处理 - 保持所有现有功能正常运行 - 向后兼容,不影响现有API调用 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
31 lines
904 B
C++
31 lines
904 B
C++
#pragma once
|
|
|
|
// 系统配置常量
|
|
class Config {
|
|
public:
|
|
// 端口配置
|
|
static const int HTTP_PORT = 12345;
|
|
static const int WEBSOCKET_PORT = 12346;
|
|
|
|
// API配置
|
|
static constexpr const char* API_PREFIX = "/api";
|
|
|
|
// 超时配置
|
|
static const int HTTP_TIMEOUT_MS = 30000; // 30秒
|
|
static const int WEBSOCKET_TIMEOUT_MS = 300000; // 5分钟
|
|
static const int SOCKET_RECV_TIMEOUT_MS = 30000; // Socket接收超时30秒
|
|
static const int SOCKET_SEND_TIMEOUT_MS = 30000; // Socket发送超时30秒
|
|
|
|
// 缓冲区大小
|
|
static const int BUFFER_SIZE = 4096;
|
|
|
|
// HTTP请求限制
|
|
static const int MAX_REQUEST_SIZE = 1048576; // 1MB maximum request size
|
|
|
|
// Creo配置
|
|
static const int CREO_CHECK_INTERVAL_MS = 100; // 检查间隔
|
|
|
|
private:
|
|
Config() = delete; // 禁止实例化
|
|
};
|