UNPKG

@kameleoon/nodejs-visitor-code-manager

Version:

Kameleoon SDK NodeJS VisitorCodeManager

1 lines 1.39 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.KameleoonVisitorCodeManager=void 0;var _nodejsSdk=require("@kameleoon/nodejs-sdk"),_types=require("./types");class VisitorCodeManager{getData(a){let{request:b,key:c}=a;_nodejsSdk.KameleoonLogger.debug`CALL VisitorCodeManager.getData(request, key: ${c})`;const d=b.headers.cookie;let e=null;return d&&(e=this.getProcessedVisitorCode(d,c)),_nodejsSdk.KameleoonLogger.debug`RETURN VisitorCodeManager.getData(request, key: ${c}) -> (visitorCode: ${e})`,e}setData(a){const{visitorCode:b,key:c,response:d,domain:e,maxAge:f,path:g}=a,h=this.getResultCookie({domain:e,visitorCode:b,key:c,maxAge:f,path:g});d.setHeader("Set-Cookie",h),_nodejsSdk.KameleoonLogger.debug`Cookie ${h} was added for visitor ${b}`}getProcessedVisitorCode(a,b){const c=Array.isArray(a)?a.join(_types.CookieParameter.PairsDelimiter):a;return _nodejsSdk.KameleoonUtils.getCookieValue(c,b)}getResultCookie(a){let{domain:b,visitorCode:c,key:d,maxAge:e,path:f}=a;const g=[d+_types.CookieParameter.KeyValueDelimiter+c,_types.CookieParameter.MaxAge+_types.CookieParameter.KeyValueDelimiter+e,_types.CookieParameter.Path+_types.CookieParameter.KeyValueDelimiter+f];return b&&g.push(_types.CookieParameter.Domain+_types.CookieParameter.KeyValueDelimiter+b),g.join(_types.CookieParameter.PairsDelimiter)}}exports.KameleoonVisitorCodeManager=VisitorCodeManager;