Author: bombe
Date: 2007-11-20 16:33:17 +0000 (Tue, 20 Nov 2007)
New Revision: 15875
Modified:
trunk/freenet/src/freenet/clients/http/HTTPRequestImpl.java
trunk/freenet/src/freenet/support/api/HTTPRequest.java
Log:
add getPartAsBytes(String, int)
re-implement getPartAsString(String, int) and use UTF-8 as encoding
Modified: trunk/freenet/src/freenet/clients/http/HTTPRequestImpl.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/HTTPRequestImpl.java 2007-11-20
15:43:25 UTC (rev 15874)
+++ trunk/freenet/src/freenet/clients/http/HTTPRequestImpl.java 2007-11-20
16:33:17 UTC (rev 15875)
@@ -538,15 +538,24 @@
return this.parts.containsKey(name);
}
-
+
+ public String getPartAsString(String name, int maxlength) {
+ try {
+ return new String(getPartAsBytes(name, maxlength),
"UTF-8");
+ } catch (UnsupportedEncodingException e) {
+ /* UTF-8 is always supported. */
+ }
+ return null;
+ }
+
/* (non-Javadoc)
* @see
freenet.clients.http.HTTPRequest#getPartAsString(java.lang.String, int)
*/
- public String getPartAsString(String name, int maxlength) {
+ public byte[] getPartAsBytes(String name, int maxlength) {
Bucket part = (Bucket)this.parts.get(name);
- if(part == null) return "";
+ if(part == null) return new byte[0];
- if (part.size() > maxlength) return "";
+ if (part.size() > maxlength) return new byte[0];
InputStream is = null;
DataInputStream dis = null;
@@ -555,7 +564,7 @@
dis = new DataInputStream(is);
byte[] buf = new byte[is.available()];
dis.readFully(buf);
- return new String(buf);
+ return buf;
} catch (IOException ioe) {
Logger.error(this, "Caught IOE:" + ioe.getMessage());
} finally {
@@ -567,7 +576,7 @@
} catch (IOException ioe) {}
}
- return "";
+ return new byte[0];
}
/* (non-Javadoc)
Modified: trunk/freenet/src/freenet/support/api/HTTPRequest.java
===================================================================
--- trunk/freenet/src/freenet/support/api/HTTPRequest.java 2007-11-20
15:43:25 UTC (rev 15874)
+++ trunk/freenet/src/freenet/support/api/HTTPRequest.java 2007-11-20
16:33:17 UTC (rev 15875)
@@ -121,6 +121,8 @@
*/
public String getPartAsString(String name, int maxlength);
+ public byte[] getPartAsBytes(String name, int maxlength);
+
public void freeParts();
public long getLongParam(String name, long defaultValue);