UNPKG

@preprio/prepr-nextjs

Version:

Next.js package for Prepr CMS preview functionality with advanced debugging and visual editing capabilities

2 lines 1.91 kB
'use strict';var functions=require('@vercel/functions'),server=require('next/server');var P="2.1.3";function j(t,i,f){var u,m,x,g,h;let e,s;i&&"headers"in i?(e=i,s=f):(e=server.NextResponse.next(),s=i),t.nextUrl.searchParams.forEach((r,d)=>{switch(d){case "utm_source":e.headers.set("Prepr-Context-utm_source",r);break;case "utm_medium":e.headers.set("Prepr-Context-utm_medium",r);break;case "utm_term":e.headers.set("Prepr-Context-utm_term",r);break;case "utm_content":e.headers.set("Prepr-Context-utm_content",r);break;case "utm_campaign":e.headers.set("Prepr-Context-utm_campaign",r);break}});let a=t.headers.get("referer");a&&e.headers.set("Prepr-Context-initial_referral",a),e.headers.set("Prepr-Package",P);let p=functions.ipAddress(t)||null;t.headers.get("Cf-Connecting-Ip")&&(p=t.headers.get("Cf-Connecting-Ip")),p&&e.headers.set("Prepr-Visitor-IP",p);let o=(u=t.cookies.get("hubspotutk"))==null?void 0:u.value;o&&e.headers.set("Prepr-Hubspot-Id",o);let n=(m=t.cookies.get("__prepr_uid"))==null?void 0:m.value;if(n||(n=crypto.randomUUID(),e.cookies.set("__prepr_uid",n,{maxAge:1*365*24*60}),e.headers.set("Prepr-Customer-Id-Created","true")),e.headers.set("Prepr-Customer-Id",n),!(s!=null&&s.preview)||process.env.PREPR_ENV!=="preview"||!(((x=t.cookies.get("Prepr-Preview-Mode"))==null?void 0:x.value)!=="false"))return e;e.headers.set("Prepr-Preview-Bar","true");let c=(g=t.cookies.get("Prepr-Segments"))==null?void 0:g.value;c&&e.headers.set("Prepr-Segments",c);let l=(h=t.cookies.get("Prepr-ABtesting"))==null?void 0:h.value;return l&&e.headers.set("Prepr-ABtesting",l),t.nextUrl.searchParams.forEach((r,d)=>{d==="prepr_preview_ab"&&(e.headers.set("Prepr-ABtesting",r),e.cookies.set("Prepr-ABtesting",r)),d==="prepr_preview_segment"&&(e.headers.set("Prepr-Segments",r),e.cookies.set("Prepr-Segments",r));}),e}module.exports=j;//# sourceMappingURL=index.cjs.map //# sourceMappingURL=index.cjs.map