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    }