From: <bra...@us...> - 2009-07-18 00:05:09
|
Revision: 2770 http://archive-access.svn.sourceforge.net/archive-access/?rev=2770&view=rev Author: bradtofel Date: 2009-07-18 00:05:07 +0000 (Sat, 18 Jul 2009) Log Message: ----------- BUGFIX(ACC-78): Now Wayback rewrites Content-Base HTTP headers. FEATURE(ACC-77): Allow prefixing of original HTTP headers with a fixed string Modified Paths: -------------- branches/wayback-1_4_2/wayback-core/src/main/java/org/archive/wayback/replay/HttpHeaderProcessor.java branches/wayback-1_4_2/wayback-core/src/main/java/org/archive/wayback/replay/RedirectRewritingHttpHeaderProcessor.java Modified: branches/wayback-1_4_2/wayback-core/src/main/java/org/archive/wayback/replay/HttpHeaderProcessor.java =================================================================== --- branches/wayback-1_4_2/wayback-core/src/main/java/org/archive/wayback/replay/HttpHeaderProcessor.java 2009-07-17 23:57:57 UTC (rev 2769) +++ branches/wayback-1_4_2/wayback-core/src/main/java/org/archive/wayback/replay/HttpHeaderProcessor.java 2009-07-18 00:05:07 UTC (rev 2770) @@ -49,6 +49,10 @@ public final static String HTTP_CONTENT_BASE_HEADER_UP = HTTP_CONTENT_BASE_HEADER.toUpperCase(); + public final static String HTTP_CONTENT_LOCATION_HEADER = "Content-Location"; + public final static String HTTP_CONTENT_LOCATION_HEADER_UP = + HTTP_CONTENT_LOCATION_HEADER.toUpperCase(); + public final static String HTTP_CONTENT_TYPE_HEADER = "Content-Type"; public final static String HTTP_CONTENT_TYPE_HEADER_UP = HTTP_CONTENT_TYPE_HEADER.toUpperCase(); Modified: branches/wayback-1_4_2/wayback-core/src/main/java/org/archive/wayback/replay/RedirectRewritingHttpHeaderProcessor.java =================================================================== --- branches/wayback-1_4_2/wayback-core/src/main/java/org/archive/wayback/replay/RedirectRewritingHttpHeaderProcessor.java 2009-07-17 23:57:57 UTC (rev 2769) +++ branches/wayback-1_4_2/wayback-core/src/main/java/org/archive/wayback/replay/RedirectRewritingHttpHeaderProcessor.java 2009-07-18 00:05:07 UTC (rev 2770) @@ -39,6 +39,18 @@ public class RedirectRewritingHttpHeaderProcessor implements HttpHeaderProcessor { + private static String DEFAULT_PREFIX = null; + private String prefix = DEFAULT_PREFIX; + + public String getPrefix() { + return prefix; + } + + public void setPrefix(String prefix) { + this.prefix = prefix; + } + + /* (non-Javadoc) * @see org.archive.wayback.replay.HttpHeaderProcessor#filter(java.util.Map, java.lang.String, java.lang.String, org.archive.wayback.ResultURIConverter, org.archive.wayback.core.CaptureSearchResult) */ @@ -47,9 +59,20 @@ String keyUp = key.toUpperCase(); + // first stick it in as-is, or with prefix, then maybe we'll overwrite + // with the later logic. + if(prefix == null) { + if(!keyUp.equals(HTTP_LENGTH_HEADER_UP)) { + output.put(key, value); + } + } else { + output.put(prefix + key, value); + } + // rewrite Location header URLs if (keyUp.startsWith(HTTP_LOCATION_HEADER_UP) || - keyUp.startsWith(HTTP_CONTENT_BASE_HEADER_UP)) { + keyUp.startsWith(HTTP_CONTENT_LOCATION_HEADER_UP) || + keyUp.startsWith(HTTP_CONTENT_BASE_HEADER_UP)) { String baseUrl = result.getOriginalUrl(); String cd = result.getCaptureTimestamp(); @@ -57,13 +80,10 @@ String u = UrlOperations.resolveUrl(baseUrl, value); output.put(key, uriConverter.makeReplayURI(cd,u)); -// } else if(keyUp.startsWith(HTTP_CONTENT_TYPE_HEADER_UP)) { -// output.put("X-Wayback-Orig-" + key,value); -// output.put(key,value); - } else { - // others go out as-is: - output.put(key, value); + } else if(keyUp.startsWith(HTTP_CONTENT_TYPE_HEADER_UP)) { + // let's leave this one as-is: + output.put(key,value); } } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |