1 package com.atlassian.plugin.servlet.util;
2
3 import java.io.ByteArrayOutputStream;
4 import java.io.IOException;
5 import java.io.PrintWriter;
6 import java.util.Locale;
7 import javax.servlet.ServletOutputStream;
8 import javax.servlet.http.HttpServletResponse;
9 import javax.servlet.http.Cookie;
10
11
12
13
14
15
16 public class CapturingHttpServletResponse implements HttpServletResponse
17 {
18 private final ByteArrayOutputStream baos;
19 private final ServletOutputStream servletOutputStream;
20 private PrintWriter printWriter;
21
22 public CapturingHttpServletResponse()
23 {
24 this.baos = new ByteArrayOutputStream();
25 servletOutputStream = new ServletOutputStream() {
26
27 @Override
28 public void write(final int b) throws IOException
29 {
30 baos.write(b);
31 }
32 };
33
34 printWriter = new PrintWriter(servletOutputStream);
35 }
36
37
38 public ServletOutputStream getOutputStream() throws IOException
39 {
40 return servletOutputStream;
41 }
42
43 public PrintWriter getWriter() throws IOException
44 {
45 return printWriter;
46 }
47
48 public String toString()
49 {
50 return baos.toString();
51 }
52
53
54
55 public void addCookie(final Cookie cookie)
56 {
57 }
58
59 public boolean containsHeader(final String name)
60 {
61 return false;
62 }
63
64 public String encodeURL(final String url)
65 {
66 return null;
67 }
68
69 public String encodeRedirectURL(final String url)
70 {
71 return null;
72 }
73
74 public String encodeUrl(final String url)
75 {
76 return null;
77 }
78
79 public String encodeRedirectUrl(final String url)
80 {
81 return null;
82 }
83
84 public void sendError(final int sc, final String msg) throws IOException
85 {
86 }
87
88 public void sendError(final int sc) throws IOException
89 {
90 }
91
92 public void sendRedirect(final String location) throws IOException
93 {
94 }
95
96 public void setDateHeader(final String name, final long date)
97 {
98 }
99
100 public void addDateHeader(final String name, final long date)
101 {
102 }
103
104 public void setHeader(final String name, final String value)
105 {
106 }
107
108 public void addHeader(final String name, final String value)
109 {
110 }
111
112 public void setIntHeader(final String name, final int value)
113 {
114 }
115
116 public void addIntHeader(final String name, final int value)
117 {
118 }
119
120 public void setStatus(final int sc)
121 {
122 }
123
124 public void setStatus(final int sc, final String sm)
125 {
126 }
127
128 public String getCharacterEncoding()
129 {
130 return null;
131 }
132
133 public void setContentLength(final int len)
134 {
135 }
136
137 public void setContentType(final String type)
138 {
139 }
140
141 public void setBufferSize(final int size)
142 {
143 }
144
145 public int getBufferSize()
146 {
147 return 0;
148 }
149
150 public void flushBuffer() throws IOException
151 {
152 }
153
154 public void resetBuffer()
155 {
156 }
157
158 public boolean isCommitted()
159 {
160 return false;
161 }
162
163 public void reset()
164 {
165 }
166
167 public void setLocale(final Locale loc)
168 {
169 }
170
171 public Locale getLocale()
172 {
173 return null;
174 }
175 }