1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.eclipse.jetty.server;
20
21 import java.io.IOException;
22 import java.io.Writer;
23
24 import org.eclipse.jetty.util.ByteArrayOutputStream2;
25
26
27
28
29 public abstract class HttpWriter extends Writer
30 {
31 public static final int MAX_OUTPUT_CHARS = 512;
32
33 final HttpOutput _out;
34 final ByteArrayOutputStream2 _bytes;
35 final char[] _chars;
36
37
38 public HttpWriter(HttpOutput out)
39 {
40 _out=out;
41 _chars=new char[MAX_OUTPUT_CHARS];
42 _bytes = new ByteArrayOutputStream2(MAX_OUTPUT_CHARS);
43 }
44
45
46 @Override
47 public void close() throws IOException
48 {
49 _out.close();
50 }
51
52
53 @Override
54 public void flush() throws IOException
55 {
56 _out.flush();
57 }
58
59
60 @Override
61 public void write (String s,int offset, int length) throws IOException
62 {
63 while (length > MAX_OUTPUT_CHARS)
64 {
65 write(s, offset, MAX_OUTPUT_CHARS);
66 offset += MAX_OUTPUT_CHARS;
67 length -= MAX_OUTPUT_CHARS;
68 }
69
70 s.getChars(offset, offset + length, _chars, 0);
71 write(_chars, 0, length);
72 }
73
74
75 @Override
76 public void write (char[] s,int offset, int length) throws IOException
77 {
78 throw new AbstractMethodError();
79 }
80 }