@c15t/nextjs
Version:
Developer-first CMP for Next.js: cookie banner, consent manager, preferences centre. GDPR ready with minimal setup and rich customization.
1 lines • 2.22 kB
JavaScript
;let __rslib_import_meta_url__="undefined"==typeof document?new(require("url".replace("",""))).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href;var __webpack_require__={};__webpack_require__.d=(e,r)=>{for(var _ in r)__webpack_require__.o(r,_)&&!__webpack_require__.o(e,_)&&Object.defineProperty(e,_,{enumerable:!0,get:r[_]})},__webpack_require__.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__={};__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{normalizeBackendURL:()=>normalizeBackendURL,validateBackendURL:()=>validateBackendURL});let ABSOLUTE_URL_REGEX=/^https?:\/\//;function trimTrailingSlash(e){return"/"===e?e:e.endsWith("/")?e.slice(0,-1):e}function validateBackendURL(e){if(ABSOLUTE_URL_REGEX.test(e))return new URL(e),{isAbsolute:!0,normalizedURL:trimTrailingSlash(e)};if(e.startsWith("/"))return{isAbsolute:!1,normalizedURL:trimTrailingSlash(e)};throw Error(`Invalid URL format: ${e}. URL must be absolute (https://...) or relative starting with (/)`)}function normalizeBackendURL(e,r){try{let{normalizedURL:_,isAbsolute:t}=validateBackendURL(e);if(t)return _;let a=r.get("referer"),n=r.get("x-forwarded-proto")||"https",i=r.get("x-forwarded-host")||r.get("host");if(i)return trimTrailingSlash(`${n}://${i}${_}`);if(a){let e=new URL(a);return trimTrailingSlash(`${e.protocol}//${e.host}${_}`)}return"development"===process.env.NODE_ENV&&console.warn("Could not determine base URL for relative backend URL"),null}catch(e){return"development"===process.env.NODE_ENV&&console.warn("Invalid backend URL:",e),null}}for(var __webpack_i__ in exports.normalizeBackendURL=__webpack_exports__.normalizeBackendURL,exports.validateBackendURL=__webpack_exports__.validateBackendURL,__webpack_exports__)-1===["normalizeBackendURL","validateBackendURL"].indexOf(__webpack_i__)&&(exports[__webpack_i__]=__webpack_exports__[__webpack_i__]);Object.defineProperty(exports,"__esModule",{value:!0});