Modules§
Structs§
Statics§
- FETCH_
BYTE_ CAP - 【2026-07-29】HTTPS 取得の結果を段階別に集計する。
- OS_
RNG_ 🔒CALL_ COUNTER - 【2026-07-24診断用】
get_ticks()だけをシードにすると、短時間に連続して TLS接続を開く場合(例: 外部CSS/フォントの立て続けの取得)に同じtick値を 読んでしまい、複数の接続で全く同一の「乱数」シーケンス(ClientHello random、 鍵交換の一時鍵等)が生成されうる。1回目のHTTPS接続は成功するが2回目以降が 毎回TLSハンドシェイクに失敗する未解明の現象の調査の一環として、呼び出し毎に 必ず異なる値になるよう単調増加カウンタを合成し、この可能性を切り分ける。 - WRITE_
RETX_ COUNT - そのうち再送に至った回数(=本当に応答が来なかった回)。
- WRITE_
WAIT_ CALLS - WRITE_
WAIT_ TICKS - 【2026-08-05 計測】
retry_write経路で送信後に待った累計 tick と回数。
Functions§
- https_
get - https_
get_ binary - https_
get_ 🔒binary_ attempt - 1回分のHTTPS GET試行。戻り値は(生レスポンス, Content-Lengthと矛盾なく
完全に受信できたか)。呼び出し元
https_get_binaryがこれを複数回試行し、 打ち切り(TLSタイムアウト等による部分受信)を検出したら再試行する。remote_ipは呼び出し元で1回だけ解決済みのものを使い回す (DNS解決自体を毎試行で繰り返さないため)。 - https_
get_ binary_ complete https_get_binaryの厳格版: 全試行でContent-Lengthに満たなければ Err。- https_
get_ binary_ keepalive - レスポンスヘッダから
Content-Length(10進)を読み取る。無ければNone。 同一ホストの複数パスを 1 本の接続・1 回のハンドシェイクで取得する。 - https_
get_ 🔒binary_ measured - https_
get_ 🔒binary_ policy - https_
post - HTTPS POST。https_get と同じ TLS 経路で、リクエスト行を POST にし Content-Type / Content-Length ヘッダ + ボディを送信する。 フォーム送信(DuckDuckGo lite の検索等)が HTTPS で正しく届くために必須。
- https_
request - 任意メソッド + 任意ヘッダの HTTPS リクエスト(OAuth2 / REST API 用)。
Authorization: Bearer ...などの追加ヘッダを付けて送れる。body が Some なら Content-Type / Content-Length を付与する(content_type が空なら付けない)。 - response_
looks_ 🔒truncated Content-Lengthが判明していて、かつ受信済みボディがそれより短い (=TLS読み取り途中で打ち切られた)場合にtrueを返す。chunked応答は 対象外(Content-Lengthヘッダを通常持たないため判定不能)。