Download
in package
Table of Contents
Properties
Methods
- __construct() : mixed
- download() : mixed
- validateDownloadedSize() : void
- ダウンロードしたパッケージのサイズが Content-Length と一致するか検証する
Properties
$logger
protected
LoggerInterface
$logger
Methods
__construct()
public
__construct(LoggerInterface $logger) : mixed
Parameters
- $logger : LoggerInterface
download()
public
download(string $dest_path, string $url) : mixed
Parameters
- $dest_path : string
- $url : string
validateDownloadedSize()
ダウンロードしたパッケージのサイズが Content-Length と一致するか検証する
public
validateDownloadedSize(string $path, int $expectedSize) : void
ダウンロードが途中で切れても HTTP ステータスは 200 のままなので、 不完全なファイルを解凍しようとして原因の分かりにくい失敗になるのを防ぐ。
Why public: download() は curl 経由の実通信に依存し直接テストしづらいため、 副作用を持たないこの検証ロジックだけを切り出して単体テスト可能にしている。
Parameters
- $path : string
- $expectedSize : int
-
Content-Length。取得できなかった場合は 0