O serviço usa MediaHealthChecker com cache (TTL ~5 minutos no código), concorrência limitada e timeout por requisição (ordem de dezenas de segundos).

Onde entra no fluxo

  1. Sob demanda no create: needCheckUrl: true em POST {{BASE_URL}}/assets/create — se o link falhar, a criação retorna erro de validação.
  2. Endpoint dedicado: POST {{BASE_URL}}/assets/check-url — uma ou várias URLs, sem gravar asset.

Objeto de resultado

Campos comuns no resultado de uma URL:

  • url: URL verificada
  • ok: se a URL foi considerada acessível
  • status: código HTTP quando aplicável
  • mimeType: MIME detectado
  • type: categoria (img, video, audio, document, etc.)

Boas práticas

  • Evite disparar lotes muito grandes em paralelo; há limite de concorrência e custo de rede.
  • Cache reduz chamadas repetidas dentro do TTL.
  • Para apenas saber se já existe registro na base, use needCheckExisting no create (ver URL e duplicidade).