internal package
Foswiki::Engine
On this page:
- internal package Foswiki::Engine
- ClassMethod new() → $engine
- ObjectMethod run()
- ObjectMethod prepare() → $req
- ObjectMethod prepareConnection( $req )
- ObjectMethod prepareQueryParameters( $req, $queryString )
- ObjectMethod prepareHeaders( $req )
- ObjectMethod preparePath( $req )
- ObjectMethod prepareCookies( $req )
- ObjectMethod prepareBody( $req )
- ObjectMethod prepareBodyParameters( $req )
- ObjectMethod prepareUploads( $req )
- ObjectMethod finalize($res, $req)
- ObjectMethod finalizeUploads( $res, $req )
- ObjectMethod finalizeError( $res, $req )
- ObjectMethod finalizeHeaders( $res, $req )
- ObjectMethod finalizeCookies( $res )
- ObjectMethod finalizeBody( $res, $req )
- flush($res, $req)
- ObjectMethod prepareWrite( $res )
- ObjectMethod write( $buffer )
internal package
Foswiki::Engine
The engine class is a singleton that implements details about Foswiki'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.
ClassMethod
new() → $engine
Constructs an engine object.
ObjectMethod
run()
Start point to Runtime Engines.
ObjectMethod
prepare() → $req
Initialize a Foswiki::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. -
$req
- Foswiki::Request object to populate
$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. -
$req
- Foswiki::Request object to populate
ObjectMethod
preparePath( $req )
Abstract method, must be defined by inherited classes. -
$req
- Foswiki::Request object to populate
ObjectMethod
prepareCookies( $req )
-
$req
- Foswiki::Request object to populate
ObjectMethod
prepareBody( $req )
Abstract method, must be defined by inherited classes. -
$req
- Foswiki::Request object to populate
ObjectMethod
prepareBodyParameters( $req )
Abstract method, must be defined by inherited classes. -
$req
- Foswiki::Request object to populate
ObjectMethod
prepareUploads( $req )
Abstract method, must be defined by inherited classes. -
$req
- Foswiki::Request object to populate
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. -
$res
is the Foswiki::Response object -
$req
it the Foswiki::Request object.
ObjectMethod
finalizeUploads( $res, $req )
Abstract method, must be defined by inherited classes. -
$res
- Foswiki::Response object to get data from -
$req
- Foswiki::Request object to get data from
ObjectMethod
finalizeError( $res, $req )
Called if some engine especific error happens.
-
$res
- Foswiki::Response object to get data from -
$req
- Foswiki::Request object to get data from
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. -
$res
- Foswiki::Response object to get data from -
$req
- Foswiki::Request object to get data from
ObjectMethod
finalizeCookies( $res )
-
$res
- Foswiki::Response object to both get data from and populate
ObjectMethod
finalizeBody( $res, $req )
-
$res
- Foswiki::Response object to get data from -
$req
- Foswiki::Request object to get data from
write()
as needed, sou engines should redefine that method insted of this one.
flush($res, $req)
Forces the response headers to be emitted if they haven't already been sent (note that this may in some circumstances result in cookies being missed) before flushing what is in the body so far. Before headers are sent, any Content-length is removed, as a call to flush is a statement that there's more to follow, but we don't know how much at this point. This function should be used with great care! It requires that the output headers are fully complete before it is first called. Once it has been called, the response object will refuse any modifications that would alter the header. ObjectMethod
prepareWrite( $res )
Abstract method, may be defined by inherited classes. -
$res
- Foswiki::Response object to get data from

ObjectMethod
write( $buffer )
Abstract method, must be defined by inherited classes. -
$buffer
- chunk of data to be sent