@Override public void doFilter( ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { HttpServletRequest req = (HttpServletRequest) servletRequest; HttpServletResponse resp = (HttpServletResponse) servletResponse; String uri = req.getRequestURI(); String path = uri.substring(0, uri.lastIndexOf("/") + 1); String name = uri.substring(uri.lastIndexOf("/") + 1); File testFile = new File("src/main/resources/tests" + path + "test-" + name); if (req.getParameter("skiptest") == null && testFile.exists() && testFile.isFile()) { Wrapper wrapper = new Wrapper(resp); filterChain.doFilter(req, wrapper); resp.flushBuffer(); if (wrapper.isWrapped()) { String content = new String(wrapper.toByteArray(), "utf-8"); String test = IOUtils.toString(testFile.toURI().toURL(), "utf-8"); content = content.replace("</body>", test + "</body>"); resp.getOutputStream().print(content); } } else { filterChain.doFilter(req, resp); } }