Revision: 2252 http://archive-access.svn.sourceforge.net/archive-access/?rev=2252&view=rev Author: bradtofel Date: 2008-04-17 13:18:56 -0700 (Thu, 17 Apr 2008) Log Message: ----------- FEATURE: now explicitly set the character encoding of returned pages to whatever encoding we produced, to override Tomcat's default. FEATURE: now send back original HTTP Content-Type header as X-Wayback-Orig-Content-Type. Modified Paths: -------------- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/archivalurl/ArchivalUrlReplayRenderer.java Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/archivalurl/ArchivalUrlReplayRenderer.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/archivalurl/ArchivalUrlReplayRenderer.java 2008-04-17 20:15:29 UTC (rev 2251) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/archivalurl/ArchivalUrlReplayRenderer.java 2008-04-17 20:18:56 UTC (rev 2252) @@ -112,6 +112,12 @@ // set the corrected length: int bytes = page.getBytes().length; headers.put(HTTP_LENGTH_HEADER, String.valueOf(bytes)); + // Tomcat will always send a charset... It's trying to be smarter than + // we are. If the original page didn't include a "charset" as part of + // the "Content-Type" HTTP header, then Tomcat will use the default.. + // who knows what that is, or what that will do to the page.. + // let's try explicitly setting it to what we used: + httpResponse.setCharacterEncoding(page.getCharSet()); // send back the headers: HttpHeaderOperation.sendHeaders(headers, httpResponse); @@ -142,7 +148,9 @@ 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: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |