#13084·composer

Share the repeated-warning dedup from CurlDownloader with the other outputWarnings() callers

Author: SeldaekCreated Sep 25, 2026Updated Sep 25, 2026

#13082 shows a repository's JSON warning only once per origin when many parallel requests carry the same one, but the "already shown" bookkeeping lives in CurlDownloader::outputWarnings() alone.

The other callers of HttpDownloader::outputWarnings() still print one line per response:

  • RemoteFilesystem, the stream fallback used when ext-curl is not available
  • the ten ComposerRepository call sites which show the warnings carried by successful metadata responses

Follow-up: move the dedup into HttpDownloader::outputWarnings() (or a small shared helper) so every transport and caller benefits, and drop the private copy in CurlDownloader.