/* * Copyright 2000-2013 Enonic AS * http://www.enonic.com/license */ package com.enonic.cms.core.portal.datasource.handler.context; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import org.jdom.Document; import org.jdom.Element; import org.springframework.stereotype.Component; import com.enonic.esl.net.URLUtil; import com.enonic.cms.core.portal.datasource.handler.DataSourceRequest; import com.enonic.cms.core.portal.datasource.handler.base.SimpleDataSourceHandler; @Component("ds.GetCookieContextHandler") public final class GetCookieContextHandler extends SimpleDataSourceHandler { public GetCookieContextHandler() { super( "getCookieContext" ); } @Override public Document handle( final DataSourceRequest req ) throws Exception { return new Document( createCookieElement( req.getHttpRequest() ) ); } private Element createCookieElement( final HttpServletRequest request ) { final Element cookiesElem = new Element( "cookies" ); final Cookie[] cookies = request != null ? request.getCookies() : null; if ( cookies != null ) { for ( Cookie cookie : cookies ) { final Element cookieElem = new Element( "cookie" ); cookieElem.setText( URLUtil.decode( cookie.getValue() ) ); cookieElem.setAttribute( "name", URLUtil.decode( cookie.getName() ) ); cookiesElem.addContent( cookieElem ); } } return cookiesElem; } }