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