nuxt-restream
Version:
Secure media content inside your Nuxt app
36 lines (32 loc) • 1.02 kB
JavaScript
import { defineNuxtModule, createResolver, resolveModule, resolvePath } from '@nuxt/kit';
const name = "nuxt-restream";
const version = "0.0.9";
const module = defineNuxtModule({
meta: {
name,
version,
configKey: "restream",
compatibility: { nuxt: "^3.0.0" }
},
defaults: {
apiRouteName: "restream"
},
async setup(options, nuxt) {
const { resolve } = createResolver(import.meta.url);
const resolveRuntimeModule = (path) => resolveModule(path, { paths: resolve("./runtime") });
nuxt.hook("nitro:config", (nitroConfig) => {
nitroConfig.handlers = nitroConfig.handlers || [];
nitroConfig.handlers.push({
method: "get",
route: `/api/${options.apiRouteName}`,
handler: resolveRuntimeModule("./server/api/index")
});
});
nuxt.options.runtimeConfig.restream = {
base: options.apiRouteName,
credential: await resolvePath(options.credential),
storage: options.storage
};
}
});
export { module as default };