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 エントリーポイント、特に execute と get_method を通して実行し、pyparser と比較します。レスポンスを追加すると解析されたメソッドが変わる理由を追跡します。期待される結果に示されているとおり、C 実装が GET を報告し、37 個のリクエストバイトを解析し、結合後の長さを 79 のままにすれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- c, python
- 領域
- api, backend
- issue の種類
- バグ
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 42/100