001
014
015 package com.liferay.portal.servlet.filters.etag;
016
017 import com.liferay.portal.kernel.servlet.StringServletResponse;
018 import com.liferay.portal.kernel.util.ParamUtil;
019 import com.liferay.portal.servlet.filters.BasePortalFilter;
020 import com.liferay.util.servlet.ServletResponseUtil;
021
022 import javax.servlet.FilterChain;
023 import javax.servlet.http.HttpServletRequest;
024 import javax.servlet.http.HttpServletResponse;
025
026
032 public class ETagFilter extends BasePortalFilter {
033
034 protected void processFilter(
035 HttpServletRequest request, HttpServletResponse response,
036 FilterChain filterChain)
037 throws Exception {
038
039 boolean etag = ParamUtil.getBoolean(request, _ETAG, true);
040
041 if (etag) {
042 StringServletResponse stringResponse =
043 new StringServletResponse(response);
044
045 processFilter(
046 ETagFilter.class, request, stringResponse, filterChain);
047
048 if (!ETagUtil.processETag(request, response, stringResponse)) {
049 ServletResponseUtil.write(response, stringResponse);
050 }
051 }
052 else {
053 processFilter(ETagFilter.class, request, response, filterChain);
054 }
055 }
056
057 private static final String _ETAG = "etag";
058
059 }