Revision: 2155 http://archive-access.svn.sourceforge.net/archive-access/?rev=2155&view=rev Author: bradtofel Date: 2008-01-29 19:01:18 -0800 (Tue, 29 Jan 2008) Log Message: ----------- FEATURE: added rewrite capability for text/css documents. Modified Paths: -------------- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/archivalurl/ArchivalUrlReplayDispatcher.java Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/archivalurl/ArchivalUrlReplayDispatcher.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/archivalurl/ArchivalUrlReplayDispatcher.java 2008-01-30 03:00:16 UTC (rev 2154) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/archivalurl/ArchivalUrlReplayDispatcher.java 2008-01-30 03:01:18 UTC (rev 2155) @@ -49,6 +49,7 @@ */ private final static String TEXT_HTML_MIME = "text/html"; private final static String TEXT_XHTML_MIME = "application/xhtml"; + private final static String TEXT_CSS_MIME = "text/css"; // TODO: make this configurable private final static long MAX_HTML_MARKUP_LENGTH = 1024 * 1024 * 5; @@ -59,6 +60,8 @@ private ReplayRenderer redirect = new DateRedirectReplayRenderer(); private ArchivalUrlReplayRenderer archivalHTML = new ArchivalUrlReplayRenderer(); + private ArchivalUrlCSSReplayRenderer archivalCSS = + new ArchivalUrlCSSReplayRenderer(); /* (non-Javadoc) * @see org.archive.wayback.replay.ReplayRendererDispatcher#getRenderer(org.archive.wayback.core.WaybackRequest, org.archive.wayback.core.SearchResult, org.archive.wayback.core.Resource) @@ -76,11 +79,10 @@ return redirect; } - // TODO: handle .css docs -- embedded URLs there need to be fixed - - // HTML and XHTML docs smaller than some size get marked up as HTML + // only bother attempting markup on pages smaller than some size: if (resource.getRecordLength() < MAX_HTML_MARKUP_LENGTH) { + // HTML and XHTML docs get marked up as HTML if (-1 != result.get(WaybackConstants.RESULT_MIME_TYPE).indexOf( TEXT_HTML_MIME)) { return archivalHTML; @@ -89,6 +91,11 @@ TEXT_XHTML_MIME)) { return archivalHTML; } + // CSS docs get marked up as CSS + if (-1 != result.get(WaybackConstants.RESULT_MIME_TYPE).indexOf( + TEXT_CSS_MIME)) { + return archivalCSS; + } } // everything else goes transparently: @@ -141,5 +148,6 @@ */ public void setServerSideRendering(boolean isServerSideRendering) { archivalHTML.setServerSideRendering(isServerSideRendering); + archivalCSS.setServerSideRendering(isServerSideRendering); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
Revision: 2278 http://archive-access.svn.sourceforge.net/archive-access/?rev=2278&view=rev Author: bradtofel Date: 2008-06-03 17:05:34 -0700 (Tue, 03 Jun 2008) Log Message: ----------- FEATURE: added handling of ASX format XML documents. Modified Paths: -------------- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/archivalurl/ArchivalUrlReplayDispatcher.java Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/archivalurl/ArchivalUrlReplayDispatcher.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/archivalurl/ArchivalUrlReplayDispatcher.java 2008-06-04 00:04:33 UTC (rev 2277) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/archivalurl/ArchivalUrlReplayDispatcher.java 2008-06-04 00:05:34 UTC (rev 2278) @@ -50,6 +50,9 @@ private final static String TEXT_HTML_MIME = "text/html"; private final static String TEXT_XHTML_MIME = "application/xhtml"; private final static String TEXT_CSS_MIME = "text/css"; + private final static String ASX_MIME = "video/x-ms-asf"; + private final static String ASX_EXTENSION = ".asx"; + // TODO: make this configurable private final static long MAX_HTML_MARKUP_LENGTH = 1024 * 1024 * 5; @@ -62,6 +65,8 @@ new ArchivalUrlReplayRenderer(); private ArchivalUrlCSSReplayRenderer archivalCSS = new ArchivalUrlCSSReplayRenderer(); + private ArchivalUrlASXReplayRenderer archivalASX = + new ArchivalUrlASXReplayRenderer(); /* (non-Javadoc) * @see org.archive.wayback.replay.ReplayRendererDispatcher#getRenderer(org.archive.wayback.core.WaybackRequest, org.archive.wayback.core.SearchResult, org.archive.wayback.core.Resource) @@ -82,20 +87,30 @@ // only bother attempting markup on pages smaller than some size: if (resource.getRecordLength() < MAX_HTML_MARKUP_LENGTH) { + String resultMime = result.get(WaybackConstants.RESULT_MIME_TYPE); // HTML and XHTML docs get marked up as HTML - if (-1 != result.get(WaybackConstants.RESULT_MIME_TYPE).indexOf( - TEXT_HTML_MIME)) { + if (-1 != resultMime.indexOf(TEXT_HTML_MIME)) { return archivalHTML; } - if (-1 != result.get(WaybackConstants.RESULT_MIME_TYPE).indexOf( - TEXT_XHTML_MIME)) { + if (-1 != resultMime.indexOf(TEXT_XHTML_MIME)) { return archivalHTML; } // CSS docs get marked up as CSS - if (-1 != result.get(WaybackConstants.RESULT_MIME_TYPE).indexOf( - TEXT_CSS_MIME)) { + if (-1 != resultMime.indexOf(TEXT_CSS_MIME)) { return archivalCSS; } + if (-1 != resultMime.indexOf(ASX_MIME)) { + return archivalASX; + } + String resultPath = result.get(WaybackConstants.RESULT_URL_KEY); + resultPath = resultPath.substring(resultPath.indexOf('/')); + int queryIdx = resultPath.indexOf('?'); + if(queryIdx > 0) { + resultPath = resultPath.substring(0,queryIdx-1); + } + if(resultPath.endsWith(ASX_EXTENSION)) { + return archivalASX; + } } // everything else goes transparently: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |