summaryrefslogtreecommitdiff
path: root/sapi/servlet/servlet.java
diff options
context:
space:
mode:
Diffstat (limited to 'sapi/servlet/servlet.java')
-rw-r--r--sapi/servlet/servlet.java221
1 files changed, 0 insertions, 221 deletions
diff --git a/sapi/servlet/servlet.java b/sapi/servlet/servlet.java
deleted file mode 100644
index 8cfbc29406..0000000000
--- a/sapi/servlet/servlet.java
+++ /dev/null
@@ -1,221 +0,0 @@
-/*
- +----------------------------------------------------------------------+
- | PHP Version 4 |
- +----------------------------------------------------------------------+
- | Copyright (c) 1997-2002 The PHP Group |
- +----------------------------------------------------------------------+
- | This source file is subject to version 2.02 of the PHP license, |
- | that is bundled with this package in the file LICENSE, and is |
- | available at through the world-wide-web at |
- | http://www.php.net/license/2_02.txt. |
- | If you did not receive a copy of the PHP license and are unable to |
- | obtain it through the world-wide-web, please send a note to |
- | license@php.net so we can mail you a copy immediately. |
- +----------------------------------------------------------------------+
- | Author: Sam Ruby (rubys@us.ibm.com) |
- +----------------------------------------------------------------------+
-*/
-
-/* $Id$ */
-
-package net.php;
-
-import java.io.IOException;
-import java.net.URLEncoder;
-import java.util.Enumeration;
-import javax.servlet.*;
-import javax.servlet.http.*;
-
-import java.lang.reflect.Method;
-
-public class servlet extends HttpServlet {
- char slash = System.getProperty("file.separator").charAt(0);
-
- HttpServletRequest request;
- HttpServletResponse response;
- ServletInputStream stream;
-
- static int startup_count = 0;
-
- protected boolean display_source_mode = false;
- private Method addHeader;
-
- // Native methods
-
- public native void startup();
- public native long define(String name);
- public native void send(String requestMethod,
- String queryString,
- String pathInfo,
- String pathTranslated,
- String contentType,
- int contentLength,
- String authUser,
- boolean display_source_mode
- );
- public native void shutdown();
-
- // SAPI Callbacks
-
- public String readPost(int bytes) {
- String result;
-
- if (!request.getMethod().equals("POST")) {
- result = request.getQueryString();
- } else {
- Enumeration enum = request.getParameterNames();
- String concat = "";
- result = "";
-
- while (enum.hasMoreElements()) {
- String name = (String)enum.nextElement();
- String value = request.getParameter(name);
-
- try {
- result += concat + name + "=" + URLEncoder.encode(value, "UTF-8");
- }
-
- catch (Exception e) {
- e.printStackTrace(System.err);
- }
-
- concat = "&";
- }
- }
-
- if (result == null) return "";
-
- return result;
- }
-
- public String readCookies() {
- reflect.setResult(define("request"), request);
- reflect.setResult(define("response"), response);
- reflect.setResult(define("PHP_SELF"), request.getRequestURI());
-
- return request.getHeader("cookie");
- }
-
- public void header(String data) {
- // try to send the header using the most specific servlet API
- // as possible (some servlet engines will add a content type
- // header unless the setContentType method is called).
- try {
- if (data.startsWith("Content-type: ")) {
- response.setContentType(data.substring(data.indexOf(" ") + 1));
- }
-
- else if (data.startsWith("Location: ")) {
- response.sendRedirect(data.substring(data.indexOf(" ") + 1));
- } else if (data.startsWith("HTTP/1")) {
- return; // this one is added from servlet container (Tomcat 4.1), we have to check for others
- }
-
- else {
- int colon = data.indexOf(": ");
-
- if (colon > 0) {
- try {
- addHeader.invoke(response, new Object[]
- { data.substring(0, colon), data.substring(colon + 2) } );
- }
-
- catch (Exception e) {
- e.printStackTrace(System.err);
- }
- }
-
- else {
- write(data);
- }
- }
- }
-
- catch (IOException e) {
- e.printStackTrace(System.err);
- }
- }
-
- public void write(String data) {
- try {
- response.getWriter().print(data);
- }
-
- catch (IOException e) {
- e.printStackTrace(System.err);
- }
- }
-
- // Servlet interface
-
- public void init(ServletConfig config)
- throws ServletException {
- super.init(config);
-
- // first time in, initialize native code
- if (0 == startup_count++) {
- reflect.loadLibrary("servlet");
- startup();
- }
-
- // try to find the addHeader method (added in the servlet API 2.2)
- // otherwise settle for the setHeader method
-
- try {
- Class c = Class.forName("javax.servlet.http.HttpServletResponse");
- Method method[] = c.getDeclaredMethods();
-
- for (int i = 0; i < method.length; i++) {
- if (method[i].getName().equals("addHeader")) {
- addHeader = method[i];
- break;
- }
-
- if (method[i].getName().equals("setHeader")) {
- addHeader = method[i];
- }
- }
- }
-
- catch (Exception e) {
- e.printStackTrace(System.err);
- }
- }
-
- public void service(HttpServletRequest request, HttpServletResponse response, String contextPath)
- throws ServletException {
- this.request = request;
- this.response = response;
-
- send(request.getMethod(),
- request.getQueryString(),
- request.getRequestURI(),
- contextPath,
- request.getContentType(),
- request.getContentLength(),
- request.getRemoteUser(),
- display_source_mode
- );
-
- try {
- if (stream != null) stream.close();
- }
-
- catch (IOException e) {
- throw new ServletException(e.toString());
- }
- }
-
- public void service(HttpServletRequest request, HttpServletResponse response)
- throws ServletException {
- String servletPath = request.getServletPath();
- String contextPath = getServletContext().getRealPath(servletPath);
-
- service(request, response, contextPath);
- }
-
- public void destroy() {
- if (0 == --startup_count) shutdown();
- super.destroy();
- }
-}