001 package railo.runtime.functions.other; 002 003 import javax.servlet.http.Cookie; 004 005 import railo.runtime.PageContext; 006 import railo.runtime.ext.function.Function; 007 import railo.runtime.net.http.ReqRspUtil; 008 009 public final class URLSessionFormat implements Function { 010 011 private static final long serialVersionUID = 1486918425114400713L; 012 013 public static String call(PageContext pc, String strUrl) { 014 Cookie[] cookies = ReqRspUtil.getCookies(pc.getConfig(),pc.getHttpServletRequest()); 015 016 if(!pc.getApplicationContext().isSetClientCookies() || cookies==null) { 017 int indexQ=strUrl.indexOf('?'); 018 int indexA=strUrl.indexOf('&'); 019 int len=strUrl.length(); 020 if(indexQ==len-1 || indexA==len-1)strUrl+=pc.getURLToken(); 021 else if(indexQ!=-1)strUrl+="&"+pc.getURLToken(); 022 else strUrl+="?"+pc.getURLToken(); 023 } 024 return strUrl; 025 } 026 }