Open Kilda Java Documentation
ServletOutputStreamWrapper.java
Go to the documentation of this file.
1 package org.openkilda.security.filter;
2 
3 import java.io.ByteArrayOutputStream;
4 import java.io.IOException;
5 import java.io.OutputStream;
6 
7 import javax.servlet.ServletOutputStream;
8 import javax.servlet.WriteListener;
9 
18 public class ServletOutputStreamWrapper extends ServletOutputStream {
19 
20  private OutputStream outputStream;
21  private ByteArrayOutputStream secondaryStream;
22 
23  public ServletOutputStreamWrapper(final OutputStream outputStream) {
24  this.outputStream = outputStream;
25  this.secondaryStream = new ByteArrayOutputStream(1024);
26  }
27 
28  /*
29  * (non-Javadoc)
30  *
31  * @see java.io.OutputStream#write(int)
32  */
33  @Override
34  public void write(final int data) throws IOException {
35  outputStream.write(data);
36  secondaryStream.write(data);
37  }
38 
39  /*
40  * (non-Javadoc)
41  *
42  * @see java.io.OutputStream#write(byte[])
43  */
44  @Override
45  public void write(final byte[] data) throws IOException {
46  outputStream.write(data);
47  secondaryStream.write(data);
48  }
49 
55  public byte[] getData() {
56  return secondaryStream.toByteArray();
57  }
58 
59  @Override
60  public boolean isReady() {
61  // TODO Auto-generated method stub
62  return false;
63  }
64 
65  @Override
66  public void setWriteListener(WriteListener arg0) {
67  // TODO Auto-generated method stub
68 
69  }
70 }