package org.civilian.internal; import java.io.FilterWriter; import java.io.IOException; import java.io.Writer; import org.civilian.Response; import org.civilian.response.ResponseWriterInterceptor; public class TestResponseWriterInterceptor implements ResponseWriterInterceptor { public TestResponseWriterInterceptor(String header) { header_ = header; } @Override public ResponseWriterInterceptor prepareWriterIntercept(Response response) { return intercept ? this : null; } @Override public Writer intercept(Writer out) throws IOException { if (!lazy) { out.write(header_); return out; } else return new LazyWriter(out); } private class LazyWriter extends FilterWriter { public LazyWriter(Writer out) { super(out); } @Override public void flush() throws IOException { out.write(header_); super.flush(); } } public boolean intercept = true; public boolean lazy = false; private String header_; }