@coursebuilder/next
Version:
Next for Course Builder.
29 lines (28 loc) • 880 B
JavaScript
import { NextRequest } from 'next/server.js';
import { setEnvDefaults as coreSetEnvDefaults, } from '@coursebuilder/core';
export function reqWithEnvURL(req) {
const url = process.env.COURSEBUILDER_URL;
if (!url)
return req;
const { origin: envOrigin } = new URL(url);
const { href, origin } = req.nextUrl;
const newReq = new NextRequest(href.replace(origin, envOrigin), req);
return newReq;
}
export function setEnvDefaults(config) {
try {
const url = process.env.COURSEBUILDER_URL;
if (!url)
return;
const { pathname } = new URL(url);
if (pathname === '/')
return;
config.basePath || (config.basePath = pathname);
}
catch {
}
finally {
config.basePath || (config.basePath = '/api/coursebuilder');
coreSetEnvDefaults(process.env, config);
}
}