protected class CGIServlet.CGIEnvironment extends Object
Modifier | Constructor and Description |
---|---|
protected |
CGIServlet.CGIEnvironment(HttpServletRequest req,
ServletContext context)
Creates a CGIEnvironment and derives the necessary environment,
query parameters, working directory, cgi command, etc.
|
Modifier and Type | Method and Description |
---|---|
protected String |
blanksToString(String couldBeBlank,
String subForBlanks)
Converts blank strings to another string
|
protected void |
expandCGIScript()
Extracts requested resource from web app archive to context work
directory to enable CGI script to be executed.
|
protected String[] |
findCGI(String pathInfo,
String webAppRootDir,
String contextPath,
String servletPath,
String cgiPathPrefix)
Resolves core information about the cgi script.
|
protected String |
getCommand()
Gets derived command string
|
protected Hashtable<String,String> |
getEnvironment()
Gets derived CGI environment
|
protected ArrayList<String> |
getParameters()
Gets derived CGI query parameters
|
protected File |
getWorkingDirectory()
Gets derived CGI working directory
|
protected boolean |
isValid()
Gets validity status
|
protected String |
nullsToBlanks(String s)
Converts null strings to blank strings ("")
|
protected String |
nullsToString(String couldBeNull,
String subForNulls)
Converts null strings to another string
|
protected boolean |
setCGIEnvironment(HttpServletRequest req)
Constructs the CGI environment to be supplied to the invoked CGI
script; relies heavily on Servlet API methods and findCGI
|
protected void |
setupFromContext(ServletContext context)
Uses the ServletContext to set some CGI variables
|
protected boolean |
setupFromRequest(HttpServletRequest req)
Uses the HttpServletRequest to set most CGI variables
|
String |
toString()
Returns important CGI environment information in a multi-line text
format.
|
protected CGIServlet.CGIEnvironment(HttpServletRequest req, ServletContext context) throws IOException
req
- HttpServletRequest for information provided by
the Servlet APIcontext
- ServletContext for information provided by the
Servlet APIIOException
- an IO error occurredprotected void setupFromContext(ServletContext context)
context
- ServletContext for information provided by the
Servlet APIprotected boolean setupFromRequest(HttpServletRequest req) throws UnsupportedEncodingException
req
- HttpServletRequest for information provided by
the Servlet APIUnsupportedEncodingException
- Unknown encodingprotected String[] findCGI(String pathInfo, String webAppRootDir, String contextPath, String servletPath, String cgiPathPrefix)
Example URI:
/servlet/cgigateway/dir1/realCGIscript/pathinfo1
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 defined by setting this 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.
The CGI search path will start at
webAppRootDir + File.separator + cgiPathPrefix
(or webAppRootDir alone if cgiPathPrefix is
null). cgiPathPrefix is defined by setting
the servlet's cgiPathPrefix init parameter.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
protected boolean setCGIEnvironment(HttpServletRequest req) throws IOException
req
- request associated with the CGI
InvocationIOException
- an IO error occurredprotected void expandCGIScript()
public String toString()
protected String getCommand()
protected File getWorkingDirectory()
protected Hashtable<String,String> getEnvironment()
protected ArrayList<String> getParameters()
protected boolean isValid()
protected String nullsToBlanks(String s)
s
- string to be converted if necessarynull
protected String nullsToString(String couldBeNull, String subForNulls)
couldBeNull
- string to be converted if necessarysubForNulls
- string to return instead of a null stringnull
protected String blanksToString(String couldBeBlank, String subForBlanks)
couldBeBlank
- string to be converted if necessarysubForBlanks
- string to return instead of a blank stringnull
or empty ("")Copyright © 2000-2021 Apache Software Foundation. All Rights Reserved.