Class CompressingEntity

java.lang.Object
org.apache.hc.core5.http.io.entity.HttpEntityWrapper
org.apache.hc.client5.http.entity.compress.CompressingEntity
All Implemented Interfaces:
Closeable, AutoCloseable, org.apache.hc.core5.http.EntityDetails, org.apache.hc.core5.http.HttpEntity

public final class CompressingEntity extends org.apache.hc.core5.http.io.entity.HttpEntityWrapper
Streaming wrapper that compresses the enclosed HttpEntity on write.

The actual compressor is supplied as an IOFunction<OutputStream,OutputStream> and is resolved by the caller (for example via reflective factories). This keeps compression back-ends fully optional and avoids hard classpath dependencies.

The entity reports the configured Content-Encoding token and streams the content; length is unknown (-1), and the entity is chunked.

Since:
5.6
  • Field Details

  • Constructor Details

    • CompressingEntity

      public CompressingEntity(org.apache.hc.core5.http.HttpEntity src, String coding, org.apache.hc.core5.io.IOFunction<OutputStream, OutputStream> encoder)
  • Method Details

    • getContentEncoding

      public String getContentEncoding()
      Specified by:
      getContentEncoding in interface org.apache.hc.core5.http.EntityDetails
      Overrides:
      getContentEncoding in class org.apache.hc.core5.http.io.entity.HttpEntityWrapper
    • getContentLength

      public long getContentLength()
      Specified by:
      getContentLength in interface org.apache.hc.core5.http.EntityDetails
      Overrides:
      getContentLength in class org.apache.hc.core5.http.io.entity.HttpEntityWrapper
    • isChunked

      public boolean isChunked()
      Specified by:
      isChunked in interface org.apache.hc.core5.http.EntityDetails
      Overrides:
      isChunked in class org.apache.hc.core5.http.io.entity.HttpEntityWrapper
    • getContent

      public InputStream getContent()
      Specified by:
      getContent in interface org.apache.hc.core5.http.HttpEntity
      Overrides:
      getContent in class org.apache.hc.core5.http.io.entity.HttpEntityWrapper
    • writeTo

      public void writeTo(OutputStream out) throws IOException
      Specified by:
      writeTo in interface org.apache.hc.core5.http.HttpEntity
      Overrides:
      writeTo in class org.apache.hc.core5.http.io.entity.HttpEntityWrapper
      Throws:
      IOException