Revision: 2815 http://archive-access.svn.sourceforge.net/archive-access/?rev=2815&view=rev Author: bradtofel Date: 2009-10-22 23:41:35 +0000 (Thu, 22 Oct 2009) Log Message: ----------- REFACTOR: generalized the header search to allow adding isChunkEncoded() Modified Paths: -------------- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/HttpHeaderOperation.java Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/HttpHeaderOperation.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/HttpHeaderOperation.java 2009-10-22 23:39:32 UTC (rev 2814) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/HttpHeaderOperation.java 2009-10-22 23:41:35 UTC (rev 2815) @@ -42,6 +42,14 @@ * @version $Date$, $Revision$ */ public class HttpHeaderOperation { + public final static String HTTP_LENGTH_HEADER = "Content-Length"; + public final static String HTTP_LENGTH_HEADER_UP = + HTTP_LENGTH_HEADER.toUpperCase(); + public final static String HTTP_TRANSFER_ENC_HEADER = + "Transfer-Encoding".toUpperCase(); + public final static String HTTP_CHUNKED_ENCODING_HEADER = + "chunked".toUpperCase(); + /** * @param resource @@ -102,4 +110,31 @@ response.setHeader(key,value); } } + + public static String getContentLength(Map<String,String> headers) { + return getHeaderValue(headers,HTTP_LENGTH_HEADER); + } + public static boolean isChunkEncoded(Map<String,String> headers) { + String enc = getHeaderValue(headers,HTTP_TRANSFER_ENC_HEADER); + if(enc != null) { + return enc.toUpperCase().contains(HTTP_CHUNKED_ENCODING_HEADER); + } + return false; + } + public static String getHeaderValue(Map<String,String> headers, String k) { + String value = null; + Iterator<String> itr = headers.keySet().iterator(); + String keyUp = k.toUpperCase(); + while(itr.hasNext()) { + String key = itr.next(); + if(key != null) { + if(key.toUpperCase().contains(keyUp)) { + value = headers.get(key); + break; + } + } + } + return value; + } + } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |