next-video
Version:
A React component for adding video to your Next.js application. It extends both the video element and your Next app with features for automatic video optimization.
54 lines (53 loc) • 2.06 kB
JavaScript
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
var r2_exports = {};
__export(r2_exports, {
publicAccessR2Bucket: () => publicAccessR2Bucket
});
module.exports = __toCommonJS(r2_exports);
var import_undici = require("undici");
async function publicAccessR2Bucket(accountId, bucketName, apiToken) {
const url = `https://api.cloudflare.com/client/v4/accounts/${accountId}/r2/buckets/${bucketName}/policy?access=PublicUrlAndCnames`;
try {
const { statusCode, body } = await (0, import_undici.request)(url, {
method: "PUT",
headers: {
Authorization: `Bearer ${apiToken}`,
"Content-Type": "application/json"
}
});
const responseBody = await body.json();
if (statusCode !== 200 || !responseBody.success) {
throw new Error(
`Failed to set public access. Status code: ${statusCode}, Error details: ${JSON.stringify(responseBody.errors)}`
);
}
if (responseBody.result.onlyViaCnames.length > 0) {
return responseBody.result.onlyViaCnames[0];
} else {
return `${responseBody.result.publicId}.r2.dev`;
}
} catch (error) {
throw new Error(`Error setting public access: ${error.message}`);
}
}
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
publicAccessR2Bucket
});
;