|
GenericResponseWrapper.java
|
1 package com.acme.filter;
2
3 import javax.servlet.ServletOutputStream;
4 import javax.servlet.http.HttpServletResponse;
5 import javax.servlet.http.HttpServletResponseWrapper;
6 import java.io.ByteArrayOutputStream;
7 import java.io.PrintWriter;
8
9 public class GenericResponseWrapper extends HttpServletResponseWrapper {
10 private ByteArrayOutputStream output;
11 private int contentLength;
12 private String contentType;
13
14 public GenericResponseWrapper(HttpServletResponse response) {
15 super(response);
16 output = new ByteArrayOutputStream();
17 }
18
19 public byte[] getData() {
20 return output.toByteArray();
21 }
22
23 public ServletOutputStream getOutputStream() {
24 return new FilterServletOutputStream(output);
25 }
26
27 public void setContentLength(int length) {
28 this.contentLength = length;
29 super.setContentLength(length);
30 }
31
32 public int getContentLength() {
33 return contentLength;
34 }
35
36 public void setContentType(String type) {
37 this.contentType = type;
38 super.setContentType(type);
39 }
40
41 public String getContentType() {
42 return contentType;
43 }
44
45 public PrintWriter getWriter() {
46 return new PrintWriter(getOutputStream(), true);
47 }
48 }
49