Error method parsed when more data append request buffer
- 主要语言
- C
- 星标
- 345
- 派生
- 94
- PR 合并指标
- 30 天内没有已合并 PR
描述
I made a demo
```
try:
from http_parser.parser import HttpParser
except ImportError:
from http_parser.pyparser import HttpParser
req = "GET / HTTP/1.1\r\nHost: www.xxx.com\r\n\r\n"
resp = "HTTP/1.1 200 OK\r\nContent-Length: 4\r\n\r\n1234"
data = req
p = HttpParser()
nparsed = p.execute(data, len(data))
print p.get_method(), nparsed, len(data)
# Got: GET 37 37
data = req + resp
p = HttpParser()
nparsed = p.execute(data, len(data))
print p.get_method(), nparsed, len(data)
# Got: HEAD 38 79
# pyparser Got: GET 79 79
# expected: GET 37 79
```
贡献指南
这个仓库没有索引到贡献指南
调研方向
首先通过由 C 支持的 HttpParser 入口点运行提供的 demo,尤其是 execute 和 get_method,并将其与 pyparser 进行比较。跟踪追加 response 后解析出的 method 发生变化的原因;当 C 实现报告 GET、解析 37 个 request 字节,并使合并后的长度保持为 79(如预期结果所示)时,即完成任务。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- c, python
- 领域
- api, backend
- Issue 类型
- 缺陷
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 42/100