1
2
3
4
5
6
7
8
9
10
11 package org.mule.providers.http;
12
13 import java.io.BufferedWriter;
14 import java.io.FilterWriter;
15 import java.io.IOException;
16 import java.io.OutputStream;
17 import java.io.OutputStreamWriter;
18 import java.io.UnsupportedEncodingException;
19
20
21
22
23 public class ResponseWriter extends FilterWriter
24 {
25 public static final String CRLF = "\r\n";
26 public static final String ISO_8859_1 = "ISO-8859-1";
27 private OutputStream outStream = null;
28 private String encoding = null;
29
30 public ResponseWriter(final OutputStream outStream) throws UnsupportedEncodingException
31 {
32 this(outStream, CRLF, ISO_8859_1);
33 }
34
35 public ResponseWriter(final OutputStream outStream, final String encoding)
36 throws UnsupportedEncodingException
37 {
38 this(outStream, CRLF, encoding);
39 }
40
41 public ResponseWriter(final OutputStream outStream, final String lineSeparator, final String encoding)
42 throws UnsupportedEncodingException
43 {
44 super(new BufferedWriter(new OutputStreamWriter(outStream, encoding)));
45 this.outStream = outStream;
46 this.encoding = encoding;
47 }
48
49 public String getEncoding()
50 {
51 return encoding;
52 }
53
54 public void close() throws IOException
55 {
56 if (outStream != null)
57 {
58 super.close();
59 outStream = null;
60 }
61 }
62
63
64
65
66
67
68 public void flush() throws IOException
69 {
70 if (outStream != null)
71 {
72 super.flush();
73 outStream.flush();
74 }
75 }
76
77 public void write(byte b) throws IOException
78 {
79 super.flush();
80 outStream.write(b);
81 }
82
83 public void write(byte[] b) throws IOException
84 {
85 super.flush();
86 outStream.write(b);
87 }
88
89 public void write(byte[] b, int off, int len) throws IOException
90 {
91 super.flush();
92 outStream.write(b, off, len);
93 }
94
95 public void print(String s) throws IOException
96 {
97 if (s == null)
98 {
99 s = "null";
100 }
101 write(s);
102 }
103
104 public void print(int i) throws IOException
105 {
106 write(Integer.toString(i));
107 }
108
109 public void println(int i) throws IOException
110 {
111 write(Integer.toString(i));
112 write(CRLF);
113 }
114
115 public void println(String s) throws IOException
116 {
117 print(s);
118 write(CRLF);
119 }
120
121 public void println() throws IOException
122 {
123 write(CRLF);
124 }
125
126 }