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) {


Reply via email to