@Override public void fromHeaders(MutableContentMetadata contentMetadata, Multimap<String, String> headers) { boolean chunked = any(headers.entries(), new Predicate<Entry<String, String>>() { @Override public boolean apply(Entry<String, String> input) { return "Transfer-Encoding".equalsIgnoreCase(input.getKey()) && "chunked".equalsIgnoreCase(input.getValue()); } }); for (Entry<String, String> header : headers.entries()) { if (!chunked && CONTENT_LENGTH.equalsIgnoreCase(header.getKey())) { contentMetadata.setContentLength(Long.valueOf(header.getValue())); } else if (CONTENT_MD5.equalsIgnoreCase(header.getKey())) { contentMetadata.setContentMD5(base64().decode(header.getValue())); } else if (CONTENT_TYPE.equalsIgnoreCase(header.getKey())) { contentMetadata.setContentType(header.getValue()); } else if (CONTENT_DISPOSITION.equalsIgnoreCase(header.getKey())) { contentMetadata.setContentDisposition(header.getValue()); } else if (CONTENT_ENCODING.equalsIgnoreCase(header.getKey())) { contentMetadata.setContentEncoding(header.getValue()); } else if (CONTENT_LANGUAGE.equalsIgnoreCase(header.getKey())) { contentMetadata.setContentLanguage(header.getValue()); } else if (EXPIRES.equalsIgnoreCase(header.getKey())) { contentMetadata.setExpires(parseExpires(header.getValue())); } } }
@Override public void fromHeaders(MutableContentMetadata contentMetadata, Multimap<String, String> headers) { boolean chunked = any(headers.entries(), new Predicate<Entry<String, String>>() { @Override public boolean apply(Entry<String, String> input) { return "Transfer-Encoding".equalsIgnoreCase(input.getKey()) && "chunked".equalsIgnoreCase(input.getValue()); } }); for (Entry<String, String> header : headers.entries()) { if (!chunked && CONTENT_LENGTH.equalsIgnoreCase(header.getKey())) { contentMetadata.setContentLength(Long.valueOf(header.getValue())); } else if (CONTENT_MD5.equalsIgnoreCase(header.getKey())) { contentMetadata.setContentMD5(base64().decode(header.getValue())); } else if (CONTENT_TYPE.equalsIgnoreCase(header.getKey())) { contentMetadata.setContentType(header.getValue()); } else if (CONTENT_DISPOSITION.equalsIgnoreCase(header.getKey())) { contentMetadata.setContentDisposition(header.getValue()); } else if (CONTENT_ENCODING.equalsIgnoreCase(header.getKey())) { contentMetadata.setContentEncoding(header.getValue()); } else if (CONTENT_LANGUAGE.equalsIgnoreCase(header.getKey())) { contentMetadata.setContentLanguage(header.getValue()); } else if (EXPIRES.equalsIgnoreCase(header.getKey())) { contentMetadata.setExpires(parseExpires(header.getValue())); } } }
@Override public void fromHeaders(MutableContentMetadata contentMetadata, Multimap<String, String> headers) { boolean chunked = any(headers.entries(), new Predicate<Entry<String, String>>() { @Override public boolean apply(Entry<String, String> input) { return "Transfer-Encoding".equalsIgnoreCase(input.getKey()) && "chunked".equalsIgnoreCase(input.getValue()); } }); for (Entry<String, String> header : headers.entries()) { if (CACHE_CONTROL.equalsIgnoreCase(header.getKey())) { contentMetadata.setCacheControl(header.getValue()); } else if (!chunked && CONTENT_LENGTH.equalsIgnoreCase(header.getKey())) { contentMetadata.setContentLength(Long.valueOf(header.getValue())); } else if (CONTENT_MD5.equalsIgnoreCase(header.getKey())) { contentMetadata.setContentMD5(base64().decode(header.getValue())); } else if (CONTENT_TYPE.equalsIgnoreCase(header.getKey())) { contentMetadata.setContentType(header.getValue()); } else if (CONTENT_DISPOSITION.equalsIgnoreCase(header.getKey())) { contentMetadata.setContentDisposition(header.getValue()); } else if (CONTENT_ENCODING.equalsIgnoreCase(header.getKey())) { contentMetadata.setContentEncoding(header.getValue()); } else if (CONTENT_LANGUAGE.equalsIgnoreCase(header.getKey())) { contentMetadata.setContentLanguage(header.getValue()); } else if (EXPIRES.equalsIgnoreCase(header.getKey())) { contentMetadata.setExpires(parseExpires(header.getValue())); } } }
@Override public void fromHeaders(MutableContentMetadata contentMetadata, Multimap<String, String> headers) { boolean chunked = any(headers.entries(), new Predicate<Entry<String, String>>() { @Override public boolean apply(Entry<String, String> input) { return "Transfer-Encoding".equalsIgnoreCase(input.getKey()) && "chunked".equalsIgnoreCase(input.getValue()); } }); for (Entry<String, String> header : headers.entries()) { if (CACHE_CONTROL.equalsIgnoreCase(header.getKey())) { contentMetadata.setCacheControl(header.getValue()); } else if (!chunked && CONTENT_LENGTH.equalsIgnoreCase(header.getKey())) { contentMetadata.setContentLength(Long.valueOf(header.getValue())); } else if (CONTENT_MD5.equalsIgnoreCase(header.getKey())) { contentMetadata.setContentMD5(base64().decode(header.getValue())); } else if (CONTENT_TYPE.equalsIgnoreCase(header.getKey())) { contentMetadata.setContentType(header.getValue()); } else if (CONTENT_DISPOSITION.equalsIgnoreCase(header.getKey())) { contentMetadata.setContentDisposition(header.getValue()); } else if (CONTENT_ENCODING.equalsIgnoreCase(header.getKey())) { contentMetadata.setContentEncoding(header.getValue()); } else if (CONTENT_LANGUAGE.equalsIgnoreCase(header.getKey())) { contentMetadata.setContentLanguage(header.getValue()); } else if (EXPIRES.equalsIgnoreCase(header.getKey())) { contentMetadata.setExpires(parseExpires(header.getValue())); } } }
@Override public void fromHeaders(MutableContentMetadata contentMetadata, Multimap<String, String> headers) { boolean chunked = any(headers.entries(), new Predicate<Entry<String, String>>() { @Override public boolean apply(Entry<String, String> input) { return "Transfer-Encoding".equalsIgnoreCase(input.getKey()) && "chunked".equalsIgnoreCase(input.getValue()); } }); for (Entry<String, String> header : headers.entries()) { if (!chunked && CONTENT_LENGTH.equalsIgnoreCase(header.getKey())) { contentMetadata.setContentLength(Long.valueOf(header.getValue())); } else if (CONTENT_MD5.equalsIgnoreCase(header.getKey())) { contentMetadata.setContentMD5(base64().decode(header.getValue())); } else if (CONTENT_TYPE.equalsIgnoreCase(header.getKey())) { contentMetadata.setContentType(header.getValue()); } else if (CONTENT_DISPOSITION.equalsIgnoreCase(header.getKey())) { contentMetadata.setContentDisposition(header.getValue()); } else if (CONTENT_ENCODING.equalsIgnoreCase(header.getKey())) { contentMetadata.setContentEncoding(header.getValue()); } else if (CONTENT_LANGUAGE.equalsIgnoreCase(header.getKey())) { contentMetadata.setContentLanguage(header.getValue()); } else if (EXPIRES.equalsIgnoreCase(header.getKey())) { contentMetadata.setExpires(parseExpires(header.getValue())); } } }
@Override public void fromHeaders(MutableContentMetadata contentMetadata, Multimap<String, String> headers) { boolean chunked = any(headers.entries(), new Predicate<Entry<String, String>>() { @Override public boolean apply(Entry<String, String> input) { return "Transfer-Encoding".equalsIgnoreCase(input.getKey()) && "chunked".equalsIgnoreCase(input.getValue()); } }); for (Entry<String, String> header : headers.entries()) { if (CACHE_CONTROL.equalsIgnoreCase(header.getKey())) { contentMetadata.setCacheControl(header.getValue()); } else if (!chunked && CONTENT_LENGTH.equalsIgnoreCase(header.getKey())) { contentMetadata.setContentLength(Long.valueOf(header.getValue())); } else if (CONTENT_MD5.equalsIgnoreCase(header.getKey())) { contentMetadata.setContentMD5(base64().decode(header.getValue())); } else if (CONTENT_TYPE.equalsIgnoreCase(header.getKey())) { contentMetadata.setContentType(header.getValue()); } else if (CONTENT_DISPOSITION.equalsIgnoreCase(header.getKey())) { contentMetadata.setContentDisposition(header.getValue()); } else if (CONTENT_ENCODING.equalsIgnoreCase(header.getKey())) { contentMetadata.setContentEncoding(header.getValue()); } else if (CONTENT_LANGUAGE.equalsIgnoreCase(header.getKey())) { contentMetadata.setContentLanguage(header.getValue()); } else if (EXPIRES.equalsIgnoreCase(header.getKey())) { contentMetadata.setExpires(parseExpires(header.getValue())); } } }
public void testCanParseAsctimeDates() { DefaultContentMetadataCodec codec = new DefaultContentMetadataCodec(codecfactory); Date parsed = codec.parseExpires("Thu Dec 01 16:00:00 GMT 1994"); assertEquals(parsed, new Date(786297600000L)); }
public void testCanParseRFC1123Dates() { DefaultContentMetadataCodec codec = new DefaultContentMetadataCodec(codecfactory); Date parsed = codec.parseExpires("Thu, 01 Dec 1994 16:00:00 GMT"); assertEquals(parsed, new Date(786297600000L)); }
public void testFallbackToExpiredDate() { DefaultContentMetadataCodec codec = new DefaultContentMetadataCodec(codecfactory); Date parsed = codec.parseExpires("1994-12-01T16:00:00.000Z"); assertEquals(parsed, new Date(0)); } }