org.apache.catalina.util
Class CGIProcessEnvironment
public class CGIProcessEnvironment
Encapsulates the CGI Process' environment and rules to derive
that environment from the servlet container and request information.
Version:
- Martin Dengler [root@martindengler.com]
- Tomcat 4.0
CGIProcessEnvironment(HttpServletRequest req, ServletContext context) - Creates a ProcessEnvironment and derives the necessary environment,
working directory, command, etc.
|
CGIProcessEnvironment(HttpServletRequest req, ServletContext context, String cgiPathPrefix) - Creates a ProcessEnvironment and derives the necessary environment,
working directory, command, etc.
|
CGIProcessEnvironment(HttpServletRequest req, ServletContext context, String cgiPathPrefix, int debug) - Creates a ProcessEnvironment and derives the necessary environment,
working directory, command, etc.
|
CGIProcessEnvironment(HttpServletRequest req, ServletContext context, int debug) - Creates a ProcessEnvironment and derives the necessary environment,
working directory, command, etc.
|
protected boolean | deriveProcessEnvironment(HttpServletRequest req) - Constructs the CGI environment to be supplied to the invoked CGI
script; relies heavliy on Servlet API methods and findCGI
|
protected String[] | findCGI(String pathInfo, String webAppRootDir, String contextPath, String servletPath, String cgiPathPrefix) - Resolves core information about the cgi script.
|
Hashtable | getParameters() - Gets process' derived query parameters
|
String | toString() - Print important CGI environment information in an
easy-to-read HTML table
|
blanksToString , deriveProcessEnvironment , getCommand , getContext , getContextPath , getEnvironment , getServletPath , getWebAppRootDir , getWorkingDirectory , isValid , log , nullsToBlanks , nullsToString , setCommand , setEnvironment , setupFromContext , setupFromRequest , toString |
CGIProcessEnvironment
public CGIProcessEnvironment(HttpServletRequest req,
ServletContext context)
Creates a ProcessEnvironment and derives the necessary environment,
working directory, command, etc. The cgi path prefix is initialized
to "" (the empty string).
req
- HttpServletRequest for information provided by
the Servlet APIcontext
- ServletContext for information provided by
the Servlet API
CGIProcessEnvironment
public CGIProcessEnvironment(HttpServletRequest req,
ServletContext context,
String cgiPathPrefix)
Creates a ProcessEnvironment and derives the necessary environment,
working directory, command, etc.
req
- HttpServletRequest for information provided by
the Servlet APIcontext
- ServletContext for information provided by
the Servlet APIcgiPathPrefix
- subdirectory of webAppRootDir below which the
web app's CGIs may be stored; can be null or "".
CGIProcessEnvironment
public CGIProcessEnvironment(HttpServletRequest req,
ServletContext context,
String cgiPathPrefix,
int debug)
Creates a ProcessEnvironment and derives the necessary environment,
working directory, command, etc.
req
- HttpServletRequest for information provided by
the Servlet APIcontext
- ServletContext for information provided by
the Servlet APIcgiPathPrefix
- subdirectory of webAppRootDir below which the
web app's CGIs may be stored; can be null or "".debug
- int debug level (0 == none, 6 == lots)
CGIProcessEnvironment
public CGIProcessEnvironment(HttpServletRequest req,
ServletContext context,
int debug)
Creates a ProcessEnvironment and derives the necessary environment,
working directory, command, etc.
req
- HttpServletRequest for information provided by
the Servlet APIcontext
- ServletContext for information provided by
the Servlet APIdebug
- int debug level (0 == none, 6 == lots)
deriveProcessEnvironment
protected boolean deriveProcessEnvironment(HttpServletRequest req)
Constructs the CGI environment to be supplied to the invoked CGI
script; relies heavliy on Servlet API methods and findCGI
- deriveProcessEnvironment in interface ProcessEnvironment
req
- request associated with the CGI invokation
- true if environment was set OK, false if there was a problem
and no environment was set
findCGI
protected String[] findCGI(String pathInfo,
String webAppRootDir,
String contextPath,
String servletPath,
String cgiPathPrefix)
Resolves core information about the cgi script.
Example URI:
/servlet/cgigateway/dir1/realCGIscript/pathinfo1
- path = $CATALINA_HOME/mywebapp/dir1/realCGIscript
- scriptName = /servlet/cgigateway/dir1/realCGIscript
- cgiName = /dir1/realCGIscript
- name = realCGIscript
CGI search algorithm: search the real path below
<my-webapp-root> and find the first non-directory in
the getPathTranslated("/"), reading/searching from left-to-right.
The CGI search path will start at
webAppRootDir + File.separator + cgiPathPrefix (or webAppRootDir
alone if cgiPathPrefix is null).
cgiPathPrefix is usually set by the calling servlet to the servlet's
cgiPathPrefix init parameter
pathInfo
- String from HttpServletRequest.getPathInfo()webAppRootDir
- String from context.getRealPath("/")contextPath
- String as from HttpServletRequest.getContextPath()servletPath
- String as from HttpServletRequest.getServletPath()cgiPathPrefix
- subdirectory of webAppRootDir below which the
web app's CGIs may be stored; can be null.
-
path
- full file-system path to valid cgi
script, or null if no cgi was found
-
scriptName
- CGI variable SCRIPT_NAME; the full
URL path to valid cgi script or
null if no cgi was found
-
cgiName
- servlet pathInfo fragment
corresponding to the cgi script
itself, or null if not found
-
name
- simple name (no directories) of
the cgi script, or null if no cgi
was found
- Martin Dengler [root@martindengler.com]
- Tomcat 4.0
getParameters
public Hashtable getParameters()
Gets process' derived query parameters
- process' query parameters
toString
public String toString()
Print important CGI environment information in an
easy-to-read HTML table
- toString in interface ProcessEnvironment
- HTML string containing CGI environment info
Copyright B) 2000-2003 Apache Software Foundation. All Rights Reserved.