Skip to content

Conversation

@ShangBanju
Copy link

Subject: enhancement: Enhance Content-Disposition Header parsing robustness

变更摘要

本 PR 增强了 parse_options_header 函数处理复杂 HTTP Header 格式的能力,修复了以下边界情况:

  1. 引号内的分号不被误解析为参数分隔符
  2. 转义引号(")被正确解析为实际引号字符
  3. 引号外的前导/尾随空格被正确处理
  4. 保持与 IE6 路径格式的兼容性

变更类型

  • Bug 修复
  • 新功能
  • 重大变更
  • 文档更新

变更内容

核心改进

使用状态机模式实现健壮的 Header 参数解析,正确处理 RFC 规范中定义的各种格式变体。

解决的问题

  • 修复 name="user;name" 类型参数被错误解析的问题
  • 修复 filename="My \"Cool\" File.txt" 转义引号处理问题
  • 修复 Windows 完整路径(IE6 兼容)的文件名提取问题

测试

  • 新增测试用例全部通过
  • 回归测试全部通过
  • 性能测试显示略有提升

清单

  • 代码风格符合项目规范
  • 所有测试用例通过
  • 添加了适当的文档字符串
  • 新增了测试覆盖
  • 无重大性能影响
  • 向后兼容

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant