message.getParams().setBooleanParameter(HttpProtocolParams.STRICT_TRANSFER_ENCODING, false);
message.addHeader(new Header("Content-Type", "unknown"));
message.addHeader(new Header("Content-Length", "1"));
message.addHeader(new Header("Content-Length", "yyy"));
message.addHeader(new Header("Content-Length", "xxx"));
EntityDeserializer entitygen = new DefaultEntityDeserializer();
HttpEntity entity = entitygen.deserialize(datareceiver, message);
assertNotNull(entity);
assertEquals(1, entity.getContentLength());
assertFalse(entity.isChunked());
InputStream instream = entity.getContent();
assertNotNull(instream);
assertTrue(instream instanceof ContentLengthInputStream);
// strict mode
message.getParams().setBooleanParameter(HttpProtocolParams.STRICT_TRANSFER_ENCODING, true);
try {
entitygen.deserialize(datareceiver, message);
fail("ProtocolException should have been thrown");
} catch (ProtocolException ex) {
// expected
}
}