| 
     
      
      
      From: <bra...@us...> - 2008-12-05 22:13:17
      
     
   | 
Revision: 2643
          http://archive-access.svn.sourceforge.net/archive-access/?rev=2643&view=rev
Author:   bradtofel
Date:     2008-12-05 22:13:14 +0000 (Fri, 05 Dec 2008)
Log Message:
-----------
ACC-35: Now has optional prefix, which via config is defaulted to "X-Archive-Orig-", which is prepended to all original HTTP headers, to clarify what headers are added by Wayback, and what were presented with the original document.
Modified Paths:
--------------
    trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/HttpHeaderProcessor.java
    trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/RedirectRewritingHttpHeaderProcessor.java
    trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/XArchiveHttpHeaderProcessor.java
    trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/ArchivalUrlReplay.xml
Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/HttpHeaderProcessor.java
===================================================================
--- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/HttpHeaderProcessor.java	2008-11-07 22:45:08 UTC (rev 2642)
+++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/HttpHeaderProcessor.java	2008-12-05 22:13:14 UTC (rev 2643)
@@ -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: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/RedirectRewritingHttpHeaderProcessor.java
===================================================================
--- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/RedirectRewritingHttpHeaderProcessor.java	2008-11-07 22:45:08 UTC (rev 2642)
+++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/RedirectRewritingHttpHeaderProcessor.java	2008-12-05 22:13:14 UTC (rev 2643)
@@ -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,18 @@
 
 		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) {
+			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 +78,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);
 		}
 	}
 }
Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/XArchiveHttpHeaderProcessor.java
===================================================================
--- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/XArchiveHttpHeaderProcessor.java	2008-11-07 22:45:08 UTC (rev 2642)
+++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/XArchiveHttpHeaderProcessor.java	2008-12-05 22:13:14 UTC (rev 2643)
@@ -22,13 +22,10 @@
 			ResultURIConverter uriConverter, CaptureSearchResult result) {
 		String keyUp = key.toUpperCase();
 
-		// rewrite Location header URLs
+		output.put(prefix + key,value);
 		if (keyUp.startsWith(HTTP_CONTENT_TYPE_HEADER_UP)) {
-			// let's leave this one alone... seems important.
+			// add this one as-is, too.
 			output.put(key, value);
-		} else {
-			// others go out with prefix:
-			output.put(prefix + key,value);
 		}
 	}
 }
Modified: trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/ArchivalUrlReplay.xml
===================================================================
--- trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/ArchivalUrlReplay.xml	2008-11-07 22:45:08 UTC (rev 2642)
+++ trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/ArchivalUrlReplay.xml	2008-12-05 22:13:14 UTC (rev 2643)
@@ -4,7 +4,9 @@
        xsi:schemaLocation="http://www.springframework.org/schema/beans
            http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
 
-  <bean id="archivalurlhttpheaderprocessor" class="org.archive.wayback.replay.RedirectRewritingHttpHeaderProcessor" />
+  <bean id="archivalurlhttpheaderprocessor" class="org.archive.wayback.replay.RedirectRewritingHttpHeaderProcessor">
+    <property name="prefix" value="X-Archive-Orig-" />
+  </bean>
 
   <bean id="archivaldateredirectingreplayrenderer" class="org.archive.wayback.replay.DateRedirectReplayRenderer" />
   <bean id="archivalcssreplayrenderer" class="org.archive.wayback.archivalurl.ArchivalUrlCSSReplayRenderer">
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 |