https://developers.cloudflare.com/waf/tools/scrape-shield/hotlink-protection/
Cloudflare Docs
Hotlink Protection prevents your images from being used by other sites, which can reduce the bandwidth consumed by your origin server.


.sign?The supported file extensions are gif, ico, jpg, jpeg, and png.
noreferrer10001, is it throwing on r2bucket.put, or should only the promise just be returning null?
.signnoreferrerr2bucket.putlet body_stream_1, body_stream_2, body_stream_3, body_stream_4, body_stream_5;
let body_stream_user = body_stream;
[body_stream_1, body_stream_user] = body_stream_user.tee();
[body_stream_2, body_stream_user] = body_stream_user.tee();
[body_stream_3, body_stream_user] = body_stream_user.tee();
[body_stream_4, body_stream_user] = body_stream_user.tee();
body_stream_5 = body_stream_user;
const r2_put_prom_1 = r2_bucket_1.put(md5_str, body_stream_1, put_options);
const r2_put_prom_2 = r2_bucket_2.put(md5_str, body_stream_2, put_options);
const r2_put_prom_3 = r2_bucket_3.put(md5_str, body_stream_3, put_options);
const r2_put_prom_4 = r2_bucket_4.put(md5_str, body_stream_4, put_options);
const r2_put_prom_5 = r2_bucket_5.put(md5_str, body_stream_5, put_options);
const r2_put_1 = await r2_put_prom_1;
const r2_put_2 = await r2_put_prom_2;
const r2_put_3 = await r2_put_prom_3;
const r2_put_4 = await r2_put_prom_4;
const r2_put_5 = await r2_put_prom_5;