• Upload media to multiple servers using BUD-05 optimization

    Uploads the blob to a /media endpoint on one server for optimization, then mirrors the optimized result to the remaining servers. The blob is never re-uploaded to other servers since the /media endpoint may transform it.

    %%{init:{"theme":"dark"}}%% flowchart LR media["/media"] --> ifmedia{"Successful?"} ifmedia -- yes --> preflight["HEAD /<sha256>"] ifmedia -- no --> iffallback{"fallback?"} iffallback -- yes --> upload["multiServerUpload"] iffallback -- no --> abort preflight --> mirror["/mirror"] mirror --> next["Next server"]
    %%{init:{"theme":"default"}}%% flowchart LR media["/media"] --> ifmedia{"Successful?"} ifmedia -- yes --> preflight["HEAD /<sha256>"] ifmedia -- no --> iffallback{"fallback?"} iffallback -- yes --> upload["multiServerUpload"] iffallback -- no --> abort preflight --> mirror["/mirror"] mirror --> next["Next server"]
    flowchart LR
      media["/media"] --> ifmedia{"Successful?"}
      ifmedia -- yes --> preflight["HEAD /<sha256>"]
      ifmedia -- no --> iffallback{"fallback?"}
      iffallback -- yes --> upload["multiServerUpload"]
      iffallback -- no --> abort
      preflight --> mirror["/mirror"]
      mirror --> next["Next server"]

    Type Parameters

    Parameters

    Returns Promise<Map<S, BlobDescriptor>>