Daya Bay Reactor Neutrino Experiment TWiki > TWikiEngineDotPm Daya Bay webs:
Public | 中文 | Internal | Help

Log In or Register

Package TWiki::Engine

The engine class is a singleton that implements details about TWiki's execution mode. This is the base class and implements basic behavior.

Each engine should inherits from this and overload methods necessary to achieve correct behavior.

On this page:

ObjectMethod CRLF () -> $crfl

Utility constant. Defined as sub thus can be used from children objects.

ClassMethod new () -> $engine

Constructs an engine object.

ObjectMethod run ()

Start point to TWiki Runtime Engines.

ObjectMethod prepare () -> $req

Initialize a TWiki::Request object by calling many preparation methods and returns it, or a status code in case of error.

ObjectMethod prepareConnection ($req)

Abstract method, must be defined by inherited classes.

Should fill remoteAddr, method and secure fields of $req object.

ObjectMethod prepareQueryParameters ($req,$queryString)

Should fill $req's query parameters field.

This method populates $req as it should if given $queryString parameter. Subclasses may redefine this method and call SUPER with query string obtained.

ObjectMethod prepareHeaders ($req)

Abstract method, must be defined by inherited classes.

Should fill $req's headers and remoteUser fields.

ObjectMethod preparePath ($req)

Abstract method, must be defined by inherited classes.

Should fill $req's uri and pathInfo fields.

ObjectMethod prepareCookies ($req)

Should fill $req's cookie field. This method take cookie data from previously populated headers field and initializes from it. Maybe doesn't need to overload in children classes.

ObjectMethod prepareBody ($req)

Abstract method, must be defined by inherited classes.

Should perform any initialization tasks related to body processing.

ObjectMethod prepareBodyParameters ($req)

Abstract method, must be defined by inherited classes.

Should fill $req's body parameters.

ObjectMethod prepareUploads ($req)

Abstract method, must be defined by inherited classes.

Should fill $req's uploads field. Its a hashref whose keys are parameter names and values TWiki::Request::Upload objects.

ObjectMethod finalize ($res,$req)

Finalizes the request by calling many methods to send response to client and take any appropriate finalize actions, such as delete temporary files.

ObjectMethod finalizeUploads ($res,$req)

Abstract method, must be defined by inherited classes.

Should delete any temp files created in preparation phase.

ObjectMethod finalizeError ($res)

Called if some engine especific error happens.

ObjectMethod finalizeHeaders ($res,$req)

Base method, must be redefined by inherited classes. For convenience this method deals with HEAD requests related stuff. Children classes should call SUPER.

Should call finalizeCookies and then send $res' headers to client.

ObjectMethod finalizeCookies ($res)

Should populate $res' headers field with cookies, if any.

ObjectMethod finalizeBody ($res)

Should send $res' body to client. This method calls write() as needed, sou engines should redefine that method insted of this one.

ObjectMethod prepareWrite ($res)

Abstract method, must be defined by inherited classes.

Shold perform any task needed before writing. That's ok if none needed wink

ObjectMethod write ($buffer)

Abstract method, must be defined by inherited classes.

Should send $buffer to client.



Revision: r2 - 2013-10-14 - 16:02:47 - TWikiContributor

Copyright © 1999-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Daya Bay? Send feedback
Note: Please contribute updates to this topic on TWiki.org at TWiki:TWiki.TWikiEngineDotPm.