pub fn is_framed_complete(raw: &[u8]) -> boolExpand description
応答(ヘッダ込みの生バイト列)が最後まで届いたか。
- ヘッダの終わりが無ければ不完全。
- 本文を持たない状態(1xx・204・304)は完全。
Transfer-Encoding: chunkedは終端(長さ 0 のチャンク)まで届いていれば完全。Content-Lengthがあれば、その長さに達していれば完全。- どちらも無ければ接続の切断が本文の終わり(HTTP/1.1 §6.3)なので完全とみなす。
【2026-10-16】XHR(tls::https_request)は接続が途中で切れても手元の分を 200 として
返していた。Cloudflare が chunked で返す papers.json(150,481 B)が 129,610 B で切れ、
jQuery の JSON 解析が黙って失敗して論文リストが約 3 回に 1 回出なかった。
長さの分かる応答(Content-Length・chunked・本文の無いステータス)が揃ったか。
接続の終わりで区切る応答(長さ情報なし)は常に false(読み続ける)。
【2026-10-18】読み取りループがこれを見ずに接続が閉じる(またはタイムアウトする)まで
待っており、keep-alive の動画サーバ(googlevideo)で応答ごとに 15 秒待っていた。