diff --git a/app/model_downloader/engine/planner.py b/app/model_downloader/engine/planner.py index 3ace350b0..175669165 100644 --- a/app/model_downloader/engine/planner.py +++ b/app/model_downloader/engine/planner.py @@ -1,4 +1,4 @@ -"""Segment planning (PRD section 5.2). +"""Segment planning. Split a known byte range into S roughly-equal segments, each fetched by its own coroutine with ``Range: bytes=start-end``. Falls back to a single segment diff --git a/app/model_downloader/net/http.py b/app/model_downloader/net/http.py index 33309b0ce..0e2923c71 100644 --- a/app/model_downloader/net/http.py +++ b/app/model_downloader/net/http.py @@ -1,6 +1,6 @@ """Manual, validated redirect-following request opener. -Automatic redirects are disabled (PRD section 9.2): we follow hops ourselves +Automatic redirects are disabled. We follow hops ourselves so that on *every* hop we (a) re-validate scheme + reject credentials-in-URL, (b) recompute which stored credential — if any — applies to that hop's host, and (c) let the connector's resolver screen the IP. This is the single place diff --git a/app/model_downloader/net/probe.py b/app/model_downloader/net/probe.py index 289aa0c74..7e542e747 100644 --- a/app/model_downloader/net/probe.py +++ b/app/model_downloader/net/probe.py @@ -1,4 +1,4 @@ -"""Pre-download probe (PRD section 5.1). +"""Pre-download probe. Issues a tiny ranged GET (``Range: bytes=0-0``) — which doubles as a range-support test — to discover ``Content-Length``, ``Accept-Ranges``,