Class AbstractHttpContent

    • Field Detail

      • mediaType

        private HttpMediaType mediaType
        Media type used for the Content-Type header or null for none.
      • computedLength

        private long computedLength
        Cached value for the computed length from computeLength().
    • Constructor Detail

      • AbstractHttpContent

        protected AbstractHttpContent​(java.lang.String mediaType)
        Parameters:
        mediaType - Media type string (for example "type/subtype") this content represents or null to leave out. Can also contain parameters like "charset=utf-8"
        Since:
        1.10
      • AbstractHttpContent

        protected AbstractHttpContent​(HttpMediaType mediaType)
        Parameters:
        mediaType - Media type this content represents or null to leave out
        Since:
        1.10
    • Method Detail

      • getLength

        public long getLength()
                       throws java.io.IOException
        Default implementation calls computeLength() once and caches it for future invocations, but subclasses may override.
        Specified by:
        getLength in interface HttpContent
        Throws:
        java.io.IOException
      • getMediaType

        public final HttpMediaType getMediaType()
        Returns the media type to use for the Content-Type header, or null if unspecified.
        Since:
        1.10
      • setMediaType

        public AbstractHttpContent setMediaType​(HttpMediaType mediaType)
        Sets the media type to use for the Content-Type header, or null if unspecified.

        This will also overwrite any previously set parameter of the media type (for example "charset"), and therefore might change other properties as well.

        Since:
        1.10
      • getCharset

        protected final java.nio.charset.Charset getCharset()
        Returns the charset specified in the media type or ISO_8859_1 if not specified.
        Since:
        1.10
      • getType

        public java.lang.String getType()
        Description copied from interface: HttpContent
        Returns the content type or null for none.
        Specified by:
        getType in interface HttpContent
      • computeLength

        protected long computeLength()
                              throws java.io.IOException
        Computes and returns the content length or less than zero if not known.

        Subclasses may override, but by default this computes the length by calling computeLength(HttpContent).

        Throws:
        java.io.IOException
      • retrySupported

        public boolean retrySupported()
        Default implementation returns true, but subclasses may override.
        Specified by:
        retrySupported in interface HttpContent
      • computeLength

        public static long computeLength​(HttpContent content)
                                  throws java.io.IOException
        Returns the computed content length based using IOUtils.computeLength(StreamingContent) or instead -1 if HttpContent.retrySupported() is false because the stream must not be read twice.
        Parameters:
        content - HTTP content
        Returns:
        computed content length or -1 if retry is not supported
        Throws:
        java.io.IOException
        Since:
        1.14