Author: toad
Date: 2006-05-18 15:30:32 +0000 (Thu, 18 May 2006)
New Revision: 8773
Modified:
trunk/freenet/src/freenet/clients/http/filter/GenericReadFilterCallback.java
trunk/freenet/src/freenet/node/Version.java
Log:
722: Fix other filter bug.
Modified:
trunk/freenet/src/freenet/clients/http/filter/GenericReadFilterCallback.java
===================================================================
---
trunk/freenet/src/freenet/clients/http/filter/GenericReadFilterCallback.java
2006-05-18 15:20:12 UTC (rev 8772)
+++
trunk/freenet/src/freenet/clients/http/filter/GenericReadFilterCallback.java
2006-05-18 15:30:32 UTC (rev 8773)
@@ -3,6 +3,7 @@
import java.net.MalformedURLException;
import java.net.URI;
import java.net.URISyntaxException;
+import java.net.URLEncoder;
import freenet.clients.http.HTTPRequest;
import freenet.keys.FreenetURI;
@@ -96,20 +97,21 @@
// Obviously we don't want to support ?force= !!
// At the moment, ?type= and ?force= are the only options
supported by Fproxy anyway.
String ret = path;
- if(typeOverride != null)
- ret = ret + "?type=" + typeOverride;
- if(u.getFragment() != null)
- ret = ret + "#" + u.getFragment();
- ret = ret.trim(); // URI does wierd things with trailing spaces
- Logger.minor(this, "ret = "+ret);
+
try {
- URI out = new URI(ret);
+ URI uri = new URI(null, null, path, typeOverride ==
null ? null : "type="+typeOverride,
+ u.getFragment());
if(!noRelative)
- return baseURI.relativize(out).toASCIIString();
- else
- return ret;
+ uri = baseURI.relativize(uri);
+ return uri.toASCIIString();
} catch (URISyntaxException e) {
- Logger.error(this, "Could not parse own URI: "+ret+" :
"+e, e);
+ Logger.error(this, "Could not parse own URI:
path="+path+", typeOverride="+typeOverride+", frag="+u.getFragment()+" : "+e,
e);
+ String p = path;
+ if(typeOverride != null)
+ p += "?type="+typeOverride;
+ if(u.getFragment() != null)
+ // FIXME encode it properly
+ p += URLEncoder.encode(u.getFragment());
return null;
}
}
Modified: trunk/freenet/src/freenet/node/Version.java
===================================================================
--- trunk/freenet/src/freenet/node/Version.java 2006-05-18 15:20:12 UTC (rev
8772)
+++ trunk/freenet/src/freenet/node/Version.java 2006-05-18 15:30:32 UTC (rev
8773)
@@ -18,7 +18,7 @@
public static final String protocolVersion = "1.0";
/** The build number of the current revision */
- private static final int buildNumber = 721;
+ private static final int buildNumber = 722;
/** Oldest build of Fred we will talk to */
private static final int lastGoodBuild = 698;