diff options
author | Sam Ruby <rubys@php.net> | 2000-03-09 13:07:25 +0000 |
---|---|---|
committer | Sam Ruby <rubys@php.net> | 2000-03-09 13:07:25 +0000 |
commit | e24e95bdecf8a3444b173c653e8789308c21925b (patch) | |
tree | 55feac9868e3f00d6b5366374d6c89def4130cd6 /sapi/servlet/servlet.java | |
parent | ff2443eb6791d79a478e73282a233cdb8846cdfb (diff) | |
download | php-git-e24e95bdecf8a3444b173c653e8789308c21925b.tar.gz |
Both PHP and Java can't read Post data - let java do it and reconstruct for
PHP.
Diffstat (limited to 'sapi/servlet/servlet.java')
-rw-r--r-- | sapi/servlet/servlet.java | 27 |
1 files changed, 18 insertions, 9 deletions
diff --git a/sapi/servlet/servlet.java b/sapi/servlet/servlet.java index 97a71af71d..817957d622 100644 --- a/sapi/servlet/servlet.java +++ b/sapi/servlet/servlet.java @@ -19,6 +19,8 @@ package net.php; import java.io.IOException; +import java.net.URLEncoder; +import java.util.Enumeration; import javax.servlet.*; import javax.servlet.http.*; @@ -51,15 +53,22 @@ public class servlet extends HttpServlet { /******************************************************************/ String readPost(int bytes) { - try { - if (stream == null) stream=request.getInputStream(); - byte[] data = new byte[bytes]; - int len = stream.read(data, 0, bytes); - if (len <= 0) return ""; - return new String(data, 0, len); - } catch (IOException e) { - return ""; - } + String result; + if (!request.getMethod().equals("POST")) { + result = request.getQueryString(); + } else { + Enumeration e = request.getParameterNames(); + result=""; + String concat=""; + while (e.hasMoreElements()) { + String name = (String)e.nextElement(); + String value = request.getParameter(name); + result+=concat+name+"="+URLEncoder.encode(value); + concat="&"; + } + } + if (result == null) return ""; + return result; } String readCookies() { |