Skip to main content

is_framed_complete

Function is_framed_complete 

Source
pub fn is_framed_complete(raw: &[u8]) -> bool
Expand 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 秒待っていた。