Revision: 2277
http://archive-access.svn.sourceforge.net/archive-access/?rev=2277&view=rev
Author: bradtofel
Date: 2008-06-03 17:04:33 -0700 (Tue, 03 Jun 2008)
Log Message:
-----------
INITIAL REV: ReplayRenderer responsible for rewriting ASX format XML documents as they are replayed.
Added Paths:
-----------
trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/archivalurl/ArchivalUrlASXReplayRenderer.java
Added: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/archivalurl/ArchivalUrlASXReplayRenderer.java
===================================================================
--- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/archivalurl/ArchivalUrlASXReplayRenderer.java (rev 0)
+++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/archivalurl/ArchivalUrlASXReplayRenderer.java 2008-06-04 00:04:33 UTC (rev 2277)
@@ -0,0 +1,50 @@
+package org.archive.wayback.archivalurl;
+
+import java.io.IOException;
+import java.util.Map;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.archive.wayback.ResultURIConverter;
+import org.archive.wayback.core.Resource;
+import org.archive.wayback.core.SearchResult;
+import org.archive.wayback.core.SearchResults;
+import org.archive.wayback.core.WaybackRequest;
+import org.archive.wayback.exception.BadContentException;
+import org.archive.wayback.replay.HTMLPage;
+import org.archive.wayback.replay.HttpHeaderOperation;
+
+public class ArchivalUrlASXReplayRenderer extends ArchivalUrlReplayRenderer {
+ /* (non-Javadoc)
+ * @see org.archive.wayback.ReplayRenderer#renderResource(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, org.archive.wayback.core.WaybackRequest, org.archive.wayback.core.SearchResult, org.archive.wayback.core.Resource, org.archive.wayback.ResultURIConverter, org.archive.wayback.core.SearchResults)
+ */
+ public void renderResource(HttpServletRequest httpRequest,
+ HttpServletResponse httpResponse, WaybackRequest wbRequest,
+ SearchResult result, Resource resource,
+ ResultURIConverter uriConverter, SearchResults results)
+ throws ServletException, IOException, BadContentException {
+
+
+ HttpHeaderOperation.copyHTTPMessageHeader(resource, httpResponse);
+
+ Map<String,String> headers = HttpHeaderOperation.processHeaders(
+ resource, result, uriConverter, this);
+
+ // Load content into an HTML page, and resolve embedded HREF urls:
+ HTMLPage page = new HTMLPage(resource,result,uriConverter);
+ page.readFully();
+
+ page.resolveASXRefUrls();
+
+ // set the corrected length:
+ int bytes = page.getBytes().length;
+ headers.put(HTTP_LENGTH_HEADER, String.valueOf(bytes));
+
+ // send back the headers:
+ HttpHeaderOperation.sendHeaders(headers, httpResponse);
+
+ page.writeToOutputStream(httpResponse.getOutputStream());
+ }
+}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|