@SuppressWarnings("unchecked")
    @Override
    public void doFilter(final ServletRequest request, final ServletResponse response, final FilterChain chain)
            throws IOException, ServletException {
        if (LOGGER.isInfoEnabled()) {
            LOGGER.info("doFilter()");
            HttpServletRequest httpRequest = (HttpServletRequest) request;

            LOGGER.info("Incoming request requestURI=" + httpRequest.getRequestURI());

            Enumeration<String> headers = httpRequest.getHeaderNames();
            while (headers.hasMoreElements()) {
                String key = headers.nextElement();
                LOGGER.info("Incoming Header " + key + "=" + httpRequest.getHeader(key));
            }
            Enumeration<String> parameters = httpRequest.getParameterNames();
            while (parameters.hasMoreElements()) {
                String key = parameters.nextElement();
                LOGGER.info("Incoming Parameter " + key + "=" + httpRequest.getParameter(key));
            }

            Cookie[] cookies = httpRequest.getCookies();
            if (cookies != null) {
                for (Cookie cookie : cookies) {
                    LOGGER.info("Incoming Cookie domain=" + cookie.getDomain() + " maxAge=" + cookie.getMaxAge() + " "
                            + cookie.getName() + "=" + cookie.getValue());
                }
            }
        }
        chain.doFilter(request, response);
    }
@param request  NA
@param response NA
@param chain    NA
@throws IOException      NA
@throws ServletException NA
@see jakarta.servlet.Filter#doFilter(jakarta.servlet.ServletRequest,
jakarta.servlet.ServletResponse, jakarta.servlet.FilterChain)
stroom-core/src/main/java/stroom/core/servlet/StroomFilter.java