[freenet-cvs] r11616 - in trunk/freenet/src/freenet: clients/http node/fcp

toad at freenetproject.org toad at freenetproject.org
Thu Jan 25 17:16:38 UTC 2007


Author: toad
Date: 2007-01-25 17:16:37 +0000 (Thu, 25 Jan 2007)
New Revision: 11616

Modified:
   trunk/freenet/src/freenet/clients/http/FProxyToadlet.java
   trunk/freenet/src/freenet/node/fcp/FCPConnectionOutputHandler.java
Log:
Better filename generation

Modified: trunk/freenet/src/freenet/clients/http/FProxyToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/FProxyToadlet.java	2007-01-25 07:38:02 UTC (rev 11615)
+++ trunk/freenet/src/freenet/clients/http/FProxyToadlet.java	2007-01-25 17:16:37 UTC (rev 11616)
@@ -561,8 +561,8 @@
 	 * @param expectedMimeType The expected MIME type.
 	 */
 	private String getFilename(FetchException e, FreenetURI uri, String expectedMimeType) {
-		String s = getFilename(e, uri);
-		int dotIdx = s.indexOf('.');
+		String s = uri.getPreferredFilename();
+		int dotIdx = s.lastIndexOf('.');
 		String ext = DefaultMIMETypes.getExtension(expectedMimeType);
 		if(ext == null)
 			ext = "bin";
@@ -579,32 +579,4 @@
 		return s + '.' + ext;
 	}
 	
-	private String getFilename(FetchException e, FreenetURI uri) {
-		String fnam = sanitize(uri.getDocName());
-		if((fnam != null) && (fnam.length() > 0)) return fnam;
-		String[] meta = uri.getAllMetaStrings();
-		if(meta != null) {
-			for(int i=meta.length-1;i>=0;i++) {
-				String s = meta[i];
-				if(s == null) continue;
-				if(s.length() == 0) continue;
-				fnam = sanitize(s);
-				if((s != null) && (s.length() > 0)) return fnam;
-			}
-		}
-		return Base64.encode(uri.getRoutingKey());
-	}
-	
-	private String sanitize(String s) {
-		if(s == null) return null;
-		StringBuffer sb = new StringBuffer(s.length());
-		for(int i=0;i<s.length();i++) {
-			char c = s.charAt(i);
-			if(Character.isLetterOrDigit(c) ||
-					(c == ' ') || (c == '.') || (c == '-') || (c == '_') ||
-					(c == '+') || (c == ','))
-				sb.append(c);
-		}
-		return sb.toString();
-	}
 }

Modified: trunk/freenet/src/freenet/node/fcp/FCPConnectionOutputHandler.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/FCPConnectionOutputHandler.java	2007-01-25 07:38:02 UTC (rev 11615)
+++ trunk/freenet/src/freenet/node/fcp/FCPConnectionOutputHandler.java	2007-01-25 17:16:37 UTC (rev 11616)
@@ -37,7 +37,7 @@
 		handler.close();
 		handler.closedOutput();
 	}
-
+ 
 	private void realRun() throws IOException {
 		OutputStream os = handler.sock.getOutputStream();
 		while(true) {




More information about the cvs mailing list