Revision: 2129 http://archive-access.svn.sourceforge.net/archive-access/?rev=2129&view=rev Author: bradtofel Date: 2008-01-14 17:46:54 -0800 (Mon, 14 Jan 2008) Log Message: ----------- BUGFIX: was not correctly resolving URLs in Location: HTTP headers. BUGFIX: was not using WARC payload digest... which should be trusted. Modified Paths: -------------- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourcestore/WARCRecordToSearchResultAdapter.java Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourcestore/WARCRecordToSearchResultAdapter.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourcestore/WARCRecordToSearchResultAdapter.java 2008-01-15 01:43:29 UTC (rev 2128) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourcestore/WARCRecordToSearchResultAdapter.java 2008-01-15 01:46:54 UTC (rev 2129) @@ -121,7 +121,7 @@ return result; } - private void addUrlDataToSearchResult(SearchResult result, String urlStr) + private UURI addUrlDataToSearchResult(SearchResult result, String urlStr) throws IOException { result.put(WaybackConstants.RESULT_URL, urlStr); @@ -141,6 +141,8 @@ String urlKey = canonicalizer.urlStringToKey(urlStr); result.put(WaybackConstants.RESULT_URL_KEY, urlKey); + + return uri; } private SearchResult adaptDNS(ArchiveRecordHeader header, WARCRecord rec) @@ -218,7 +220,7 @@ String.valueOf(header.getOffset())); String origUrl = header.getUrl(); - addUrlDataToSearchResult(result,origUrl); + UURI uri = addUrlDataToSearchResult(result,origUrl); // need to parse the documents HTTP message and headers here: WARCReader // does not implement this... yet.. @@ -243,7 +245,9 @@ ARCConstants.DEFAULT_ENCODING); rec.close(); - result.put(WaybackConstants.RESULT_MD5_DIGEST, rec.getDigestStr()); + result.put(WaybackConstants.RESULT_MD5_DIGEST, + transformDigest(header.getHeaderValue( + WARCRecord.HEADER_KEY_PAYLOAD_DIGEST))); if (headers != null) { @@ -263,7 +267,7 @@ // should we prefer one over the other? // right now, we're ignoring "Content-Location" try { - UURI uriRedirect = UURIFactory.getInstance(origUrl, + UURI uriRedirect = UURIFactory.getInstance(uri, locationStr); result.put(WaybackConstants.RESULT_REDIRECT_URL, uriRedirect.getEscapedURI()); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |