Class SmartOutputStream

java.lang.Object
java.io.OutputStream
org.eclipse.jgit.util.TemporaryBuffer
org.eclipse.jgit.http.server.SmartOutputStream
All Implemented Interfaces:
Closeable, Flushable, AutoCloseable

class SmartOutputStream extends TemporaryBuffer
Buffers a response, trying to gzip it if the user agent supports that.

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.

  • Field Details

    • LIMIT

      private static final int LIMIT
      See Also:
    • req

      private final javax.servlet.http.HttpServletRequest req
    • rsp

      private final javax.servlet.http.HttpServletResponse rsp
    • compressStream

      private boolean compressStream
    • startedOutput

      private boolean startedOutput
  • Constructor Details

    • SmartOutputStream

      SmartOutputStream(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse rsp, boolean compressStream)
  • Method Details