sunlabs.brazil.server
Class Request.HttpOutputStream
java.lang.Object
java.io.OutputStream
java.io.FilterOutputStream
sunlabs.brazil.server.Request.HttpOutputStream
- All Implemented Interfaces:
- Closeable, Flushable
- Direct Known Subclasses:
- BServletRequest.HttpOutputStream
- Enclosing class:
- Request
public static class Request.HttpOutputStream
- extends FilterOutputStream
The HttpOutputStream
provides the convenience method
writeBytes
for writing the byte representation of a
string, without bringing in the overhead and the deprecated warnings
associated with a java.io.DataOutputStream
.
The other methods in this class are here to allow the
FilterHandler
and ChainSawHandler
to
alter the behavior in an implementation specific way. This behavior
is unfortunate, and might go away when a better strategy comes along.
Field Summary |
int |
bytesWritten
Count the number of bytes that are written to this stream |
bytesWritten
public int bytesWritten
- Count the number of bytes that are written to this stream
Request.HttpOutputStream
public Request.HttpOutputStream(OutputStream out)
writeBytes
public void writeBytes(String s)
throws IOException
- Throws:
IOException
write
public void write(byte b)
throws IOException
- Throws:
IOException
write
public void write(byte[] buf,
int off,
int len)
throws IOException
- Overrides:
write
in class FilterOutputStream
- Throws:
IOException
sendHeaders
public void sendHeaders(Request request)
throws IOException
- Throws:
IOException
canChunk
public boolean canChunk()
- By default, http/1.1 output streams support chunking.
If further output processing is required, then the chunking gets
in the way. Allow my subclasses to turn chunking off. The
downstream processing functions need to insure valid http/1.1
in than case.