|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.w3c.tools.resources.AttributeHolder org.w3c.tools.resources.Resource org.w3c.tools.resources.FramedResource org.w3c.tools.resources.ResourceFrame org.w3c.tools.resources.ProtocolFrame org.w3c.jigsaw.frames.HTTPFrame org.w3c.jigsaw.frames.CgiFrame
public class CgiFrame
Handle CGI scripts.
Field Summary | |
---|---|
protected static int |
ATTR_CGI_DEBUG
Attribute index - Turn the script in debug mode. |
protected static int |
ATTR_COMMAND
Attribute index - The array of string that makes the command to run. |
protected static int |
ATTR_ENV
Attribute index - Additional environment vars |
protected static int |
ATTR_GENERATES_FORM
Attribute index - Does the script generates the form on GET ? |
protected static int |
ATTR_INTERPRETER
Attribute index - The interpreter to use, if any. |
protected static int |
ATTR_NOHEADER
Attribute index - Does the script takes care of its headers ? |
protected static int |
ATTR_REMOTE_HOST
Attribute index - Do DNS, to fill in REMOTE_HOST env var. |
Fields inherited from class org.w3c.jigsaw.frames.HTTPFrame |
---|
acceptRanges, allowed, ATTR_ALLOW_DEL, ATTR_BROWSABLE, ATTR_CHARSET, ATTR_CONTENT_ENCODING, ATTR_CONTENT_LANGUAGE, ATTR_CONTENT_LENGTH, ATTR_CONTENT_TYPE, ATTR_ICON, ATTR_ICONDIR, ATTR_INDEX, ATTR_INDEXES, ATTR_MAXAGE, ATTR_MD5, ATTR_PUTABLE, ATTR_QUALITY, ATTR_RELOCATE, ATTR_STYLE_LINK, ATTR_TITLE, browsetype, COND_FAILED, COND_OK, COND_WEAK, dresource, fresource, listing, listing_stamp, STATE_CONTENT_LOCATION |
Fields inherited from class org.w3c.tools.resources.ResourceFrame |
---|
filterClass, frameListener, resource |
Fields inherited from class org.w3c.tools.resources.FramedResource |
---|
ATTR_OID, attrListener, debugEvent, event_disabled, framesRef, structListener |
Fields inherited from class org.w3c.tools.resources.Resource |
---|
ATTR_CONTEXT, ATTR_HELP_URL, ATTR_IDENTIFIER, ATTR_LAST_MODIFIED, ATTR_PARENT, ATTR_RESOURCE_FRAMES, ATTR_STORE_ENTRY, ATTR_URL, co, id |
Fields inherited from class org.w3c.tools.resources.AttributeHolder |
---|
attributes, values |
Constructor Summary | |
---|---|
CgiFrame()
|
Method Summary | |
---|---|
boolean |
checkCgiDebug()
Get the CGI debug flag. |
boolean |
checkGeneratesFormFlag()
Get the generates form flag. |
boolean |
checkNoheaderFlag()
Get the noheader flag. |
boolean |
checkRemoteHost()
Get the remote host attribute value. |
Reply |
get(Request request)
GET method implementation. |
java.lang.String[] |
getCommand()
Get the command string array. |
java.lang.String |
getEnvName(java.lang.String name)
Turn the given header name into it's env var canonical name. |
HttpEntityTag |
getETag()
Get this resource Etag |
java.lang.String |
getInterpreter()
Get the interpreter to use to execute the script. |
ArrayDictionary |
getUserEnv()
|
protected Reply |
handleCGIOutput(java.lang.Process process,
Request request)
Handle the CGI script output. |
boolean |
lookup(LookupState ls,
LookupResult lr)
Lookup sub-resources. |
protected java.lang.Process |
makeCgiCommand(Request request)
Prepare the command to run for this CGI script, and run it. |
Reply |
post(Request request)
Handle the POST method according to CGI/1.1 specification. |
void |
registerResource(FramedResource resource)
At register time, if no command, use a suitable default. |
Methods inherited from class org.w3c.tools.resources.ResourceFrame |
---|
addFrameEventListener, eventDisabled, fireFrameEvent, frameModified, getFilters, getFilters, getFrameReference, getResource, getResourceReference, getSpaceEntry, getURLPath, lookupFilters, lookupFrames, postFrameEvent, processEvent, removeFrameEventListener, unregisterResource, updateDefaultChildAttributes |
Methods inherited from class org.w3c.tools.resources.Resource |
---|
acceptUnload, checkMultipleLock, collectFrames, getContext, getFrame, getFrames, getIdentifier, getLastModified, getParent, getServer, getSpace, getStoreEntry, getValue, getValue, isInitialized, isUnloaded, setContext, setContext, setValue, unsafeGetContext, unsafeGetFrame, unsafeGetFrames, unsafeGetIdentifier, unsafeGetResourceReference, unsafeGetURLPath, unsafeGetValue, updateAttributes |
Methods inherited from class org.w3c.tools.resources.AttributeHolder |
---|
definesAttribute, definesAttribute, getAttributes, getBoolean, getChar, getClone, getClone, getDouble, getFloat, getInt, getLong, getString, getValue, lookupAttribute, print, setBoolean, setChar, setDouble, setFloat, setInt, setLong, setString, setValue, unsafeDefinesAttribute, unsafeGetDouble, unsafeGetString |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected static int ATTR_INTERPRETER
protected static int ATTR_COMMAND
protected static int ATTR_NOHEADER
protected static int ATTR_GENERATES_FORM
protected static int ATTR_REMOTE_HOST
protected static int ATTR_CGI_DEBUG
protected static int ATTR_ENV
Constructor Detail |
---|
public CgiFrame()
Method Detail |
---|
public java.lang.String getInterpreter()
!#
convention ala UNIX.
public java.lang.String[] getCommand()
public ArrayDictionary getUserEnv()
public boolean checkNoheaderFlag()
public boolean checkGeneratesFormFlag()
public boolean checkRemoteHost()
public boolean checkCgiDebug()
public java.lang.String getEnvName(java.lang.String name)
name
- The header name.
public HttpEntityTag getETag()
getETag
in class HTTPFrame
protected Reply handleCGIOutput(java.lang.Process process, Request request) throws ProtocolException
process
- The underlying CGI process.request
- The processed request.
ProtocolException
- If an HTTP error
should be sent back to the client.protected java.lang.Process makeCgiCommand(Request request) throws ProtocolException, java.io.IOException
request
- The request to handle.
ProtocolException
- If we weren't able
to build the command or the environment.
java.io.IOException
- if an IO erro occurs.public boolean lookup(LookupState ls, LookupResult lr) throws ProtocolException
This allows us to implement the PATH_INFO
CGI variable properly.
lookup
in class HTTPFrame
ls
- Current lookup state.lr
- Lookup result under construction.
ProtocolException
- (fixme doc)ResourceFrame.lookupFilters(org.w3c.tools.resources.LookupState, org.w3c.tools.resources.LookupResult)
,
HTTPFrame.lookupResource(org.w3c.tools.resources.LookupState, org.w3c.tools.resources.LookupResult)
public Reply get(Request request) throws ProtocolException, ResourceException
If the resource is able to generates its form, than run the script to emit the form. Otherwsie, use our super class (FileResource) ability to send the file that contains the form.
Note that there is no need to feed the underlying process with data in the GET case.
get
in class HTTPFrame
request
- The request to handle.
ProtocolException
- If processing the request failed.
ResourceException
- If the resource got a fatal error.public Reply post(Request request) throws ProtocolException, ResourceException
post
in class HTTPFrame
request
- The request to process.
ProtocolException
- If the processing failed.
ResourceException
- If the resource got a fatal error.public void registerResource(FramedResource resource)
registerResource
in class HTTPFrame
values
- Default attribute values.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |