class SmartOutputStream extends TemporaryBuffer
If the response overflows the buffer, gzip is skipped and the response is
streamed to the client as its produced, most likely using HTTP/1.1 chunked
encoding. This is useful for servlets that produce mixed-mode content, where
smaller payloads are primarily pure text that compresses well, while much
larger payloads are heavily compressed binary data. UploadPackServlet
is one such servlet.
TemporaryBuffer.Heap, TemporaryBuffer.LocalFile| Modifier and Type | Field and Description |
|---|---|
private boolean |
compressStream |
private static int |
LIMIT |
private javax.servlet.http.HttpServletRequest |
req |
private javax.servlet.http.HttpServletResponse |
rsp |
private boolean |
startedOutput |
DEFAULT_IN_CORE_LIMIT| Constructor and Description |
|---|
SmartOutputStream(javax.servlet.http.HttpServletRequest req,
javax.servlet.http.HttpServletResponse rsp,
boolean compressStream) |
| Modifier and Type | Method and Description |
|---|---|
void |
close() |
protected java.io.OutputStream |
overflow()
Open the overflow output stream, so the remaining output can be stored.
|
copy, destroy, doFlush, length, openInputStream, openInputStreamWithAutoDestroy, reset, toByteArray, toByteArray, write, write, writeToprivate static final int LIMIT
private final javax.servlet.http.HttpServletRequest req
private final javax.servlet.http.HttpServletResponse rsp
private boolean compressStream
private boolean startedOutput
SmartOutputStream(javax.servlet.http.HttpServletRequest req,
javax.servlet.http.HttpServletResponse rsp,
boolean compressStream)
protected java.io.OutputStream overflow()
throws java.io.IOException
overflow in class TemporaryBufferjava.io.IOException - the buffer cannot create the overflow stream.public void close()
throws java.io.IOException
close in interface java.io.Closeableclose in interface java.lang.AutoCloseableclose in class TemporaryBufferjava.io.IOException