Tags:
create new tag
view all tags
---+ 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. %TOC% ---++ ObjectMethod *CRLF* <tt>() -> $crfl</tt> Utility constant. Defined as sub thus can be used from children objects. ---++ ClassMethod *new* <tt>() -> $engine</tt> Constructs an engine object. ---++ ObjectMethod *run* <tt>()</tt> Start point to TWiki Runtime Engines. ---++ ObjectMethod *prepare* <tt>() -> $req</tt> Initialize a TWiki::Request object by calling many preparation methods and returns it, or a status code in case of error. ---++ ObjectMethod *prepareConnection* <tt>($req)</tt> Abstract method, must be defined by inherited classes. * =$req= - TWiki::Request object to populate Should fill remoteAddr, method and secure fields of =$req= object. ---++ ObjectMethod *prepareQueryParameters* <tt>($req,$queryString)</tt> 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* <tt>($req)</tt> Abstract method, must be defined by inherited classes. * =$req= - TWiki::Request object to populate Should fill $req's headers and remoteUser fields. ---++ ObjectMethod *preparePath* <tt>($req)</tt> Abstract method, must be defined by inherited classes. * =$req= - TWiki::Request object to populate Should fill $req's uri and pathInfo fields. ---++ ObjectMethod *prepareCookies* <tt>($req)</tt> * =$req= - TWiki::Request object to populate 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* <tt>($req)</tt> Abstract method, must be defined by inherited classes. * =$req= - TWiki::Request object to populate Should perform any initialization tasks related to body processing. ---++ ObjectMethod *prepareBodyParameters* <tt>($req)</tt> Abstract method, must be defined by inherited classes. * =$req= - TWiki::Request object to populate Should fill $req's body parameters. ---++ ObjectMethod *prepareUploads* <tt>($req)</tt> Abstract method, must be defined by inherited classes. * =$req= - TWiki::Request object to populate Should fill $req's uploads field. Its a hashref whose keys are parameter names and values TWiki::Request::Upload objects. ---++ ObjectMethod *finalize* <tt>($res,$req)</tt> Finalizes the request by calling many methods to send response to client and take any appropriate finalize actions, such as delete temporary files. * =$res= is the TWiki::Response object * =$req= it the TWiki::Request object. Needed to finalizeUploads ---++ ObjectMethod *finalizeUploads* <tt>($res,$req)</tt> Abstract method, must be defined by inherited classes. * =$res= - TWiki::Response object to get data from * =$req= - TWiki::Request object to get data from Should delete any temp files created in preparation phase. ---++ ObjectMethod *finalizeError* <tt>($res)</tt> Called if some engine especific error happens. * =$res= - TWiki::Response object to get data from ---++ ObjectMethod *finalizeHeaders* <tt>($res,$req)</tt> Base method, must be redefined by inherited classes. For convenience this method deals with HEAD requests related stuff. Children classes should call SUPER. * =$res= - TWiki::Response object to get data from * =$req= - TWiki::Request object to get data from Should call finalizeCookies and then send $res' headers to client. ---++ ObjectMethod *finalizeCookies* <tt>($res)</tt> * =$res= - TWiki::Response object to both get data from and populate Should populate $res' headers field with cookies, if any. ---++ ObjectMethod *finalizeBody* <tt>($res)</tt> * =$res= - TWiki::Response object to get data from Should send $res' body to client. This method calls =write()= as needed, sou engines should redefine that method insted of this one. ---++ ObjectMethod *prepareWrite* <tt>($res)</tt> Abstract method, must be defined by inherited classes. * =$res= - TWiki::Response object to get data from Shold perform any task needed before writing. That's ok if none needed ;-) ---++ ObjectMethod *write* <tt>($buffer)</tt> Abstract method, must be defined by inherited classes. * =$buffer= - chunk of data to be sent Should send $buffer to client.
E
dit
|
A
ttach
|
Watch
|
P
rint version
|
H
istory
: r2
<
r1
|
B
acklinks
|
V
iew topic
|
Ra
w
edit
|
M
ore topic actions
Topic revision: r2 - 2013-10-14
-
TWikiContributor
Log In
or
Register
TWiki Web
Users
Groups
Index
Search
Changes
Notifications
RSS Feed
Statistics
Preferences
User Reference
ATasteOfTWiki
TextFormattingRules
TWikiVariables
FormattedSearch
QuerySearch
TWikiDocGraphics
TWikiSkinBrowser
InstalledPlugins
Admin Maintenance
Reference Manual
AdminToolsCategory
InterWikis
ManagingWebs
TWikiSiteTools
TWikiPreferences
WebPreferences
Categories
Admin Documentation
Admin Tools
Developer Doc
User Documentation
User Tools
Webs
TWiki
Home
Site map
TWiki web
TWiki Web
User registration
Users
Groups
Index
Search
Changes
Notifications
RSS Feed
Statistics
Preferences
View
Raw View
Print version
Find backlinks
History
More topic actions
Edit
Raw edit
Attach file or image
Edit topic preference settings
Set new parent
More topic actions
User Reference
ATasteOfTWiki
TextFormattingRules
TWikiVariables
FormattedSearch
QuerySearch
TWikiDocGraphics
TWikiSkinBrowser
InstalledPlugins
Admin Maintenance
Reference Manual
InterWikis
ManagingUsers
ManagingWebs
TWikiSiteTools
TWikiPreferences
WebPreferences
Categories
Admin Documentation
Admin Tools
Developer Doc
User Documentation
User Tools
Account
Log In
Register User
Български
Cesky
Dansk
Deutsch
English
Español
_Français_
Italiano
日本語
한글
Nederlands
Polski
Português
Русский
Svenska
简体中文
簡體中文
E
dit
A
ttach
Copyright © 1999-2025 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki?
Send feedback
Note:
Please contribute updates to this topic on TWiki.org at
TWiki:TWiki.TWikiEngineDotPm
.