| 
 |   | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Object | +--sunlabs.brazil.tcl.TclHandler
Handler for writing handlers in tcl.
 Anytime a request is made, call the respond callback
 in the tcl code, which is provided with the
 Request object as an argument.
 
This provides a bare-bones tcl interface. The startup script, which is sourced once upon startup, should provide a friendlier interface.
One Tcl interpreter is started for each session. The SessionID property of the request is used to choose the session. if no Session ID is available, a single interpreter is used for each request. The interpreter is Initialized the first time it is referenced for a session, or if the "SessionID" variable is NOT set.
 This handler requires tcl.jar, a
 version of jacl, included in the release.
 
The following server properties are used:
respond.
 MatchString).
 init(sunlabs.brazil.server.Server, java.lang.String) parameters a make available as the global
		variables prefix and server.
 
| Constructor Summary | |
| TclHandler() | |
| Method Summary | |
|  boolean | init(Server server,
     String prefix)Create a tcl interp, extract the properties, and run the init script | 
|  boolean | respond(Request request)Responds to an HTTP request. | 
| Methods inherited from class java.lang.Object | 
| equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| Constructor Detail | 
public TclHandler()
| Method Detail | 
public boolean init(Server server,
                    String prefix)
init in interface Handlerserver - The HTTP server that created this Handler.
		Typical Handlers will use Server.props
		to obtain run-time configuration information.prefix - The handlers name.
		The string this Handler may prepend to all
		of the keys that it uses to extract configuration information
		from Server.props.  This is set (by the Server
		and ChainHandler) to help avoid configuration parameter
		namespace collisions.
true if this Handler initialized
		successfully, false otherwise.  If
		false is returned, this Handler
		should not be used.
public boolean respond(Request request)
                throws IOException
Handler
respond in interface Handlerrequest - The Request object that represents the HTTP
		request.
true if the request was handled.  A request was
		handled if a response was supplied to the client, typically
		by calling Request.sendResponse() or
		Request.sendError.
IOException - if there was an I/O error while sending the response to
		the client.  Typically, in that case, the Server
		will (try to) send an error message to the client and then
		close the client's connection.
		
		The IOException should not be used to silently
		ignore problems such as being unable to access some
		server-side resource (for example getting a
		FileNotFoundException due to not being able
		to open a file).  In that case, the Handler's
		duty is to turn that IOException into a
		HTTP response indicating, in this case, that a file could
		not be found.
| 
 | Version 2.1, Generated 12/30/04 Copyright (c) 2001-2004, Sun Microsystems. | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||