org.apache.http.impl.entity
Class StrictContentLengthStrategy

java.lang.Object
  extended by org.apache.http.impl.entity.StrictContentLengthStrategy
All Implemented Interfaces:
ContentLengthStrategy

@Contract(threading=IMMUTABLE)
public class StrictContentLengthStrategy
extends Object
implements ContentLengthStrategy

The strict implementation of the content length strategy. This class will throw ProtocolException if it encounters an unsupported transfer encoding or a malformed Content-Length header value.

This class recognizes "chunked" and "identitiy" transfer-coding only.

Since:
4.0

Field Summary
static StrictContentLengthStrategy INSTANCE
           
 
Fields inherited from interface org.apache.http.entity.ContentLengthStrategy
CHUNKED, IDENTITY
 
Constructor Summary
StrictContentLengthStrategy()
          Creates StrictContentLengthStrategy instance.
StrictContentLengthStrategy(int implicitLen)
          Creates StrictContentLengthStrategy instance with the given length used per default when content length is not explicitly specified in the message.
 
Method Summary
 long determineLength(HttpMessage message)
          Returns length of the given message in bytes.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

INSTANCE

public static final StrictContentLengthStrategy INSTANCE
Constructor Detail

StrictContentLengthStrategy

public StrictContentLengthStrategy(int implicitLen)
Creates StrictContentLengthStrategy instance with the given length used per default when content length is not explicitly specified in the message.

Parameters:
implicitLen - implicit content length.
Since:
4.2

StrictContentLengthStrategy

public StrictContentLengthStrategy()
Creates StrictContentLengthStrategy instance. ContentLengthStrategy.IDENTITY is used per default when content length is not explicitly specified in the message.

Method Detail

determineLength

public long determineLength(HttpMessage message)
                     throws HttpException
Description copied from interface: ContentLengthStrategy
Returns length of the given message in bytes. The returned value must be a non-negative number, ContentLengthStrategy.IDENTITY if the end of the message will be delimited by the end of connection, or ContentLengthStrategy.CHUNKED if the message is chunk coded

Specified by:
determineLength in interface ContentLengthStrategy
Parameters:
message - HTTP message
Returns:
content length, ContentLengthStrategy.IDENTITY, or ContentLengthStrategy.CHUNKED
Throws:
HttpException - in case of HTTP protocol violation


Copyright © 2005–2021 The Apache Software Foundation. All rights reserved.