<?xml version="1.0" encoding="UTF-8" ?> <class name="WebServerMiddleware" inherits="Resource" version="3.8"> <brief_description> </brief_description> <description> [WebRoot] uses these to preprocess requests. They can do various tasks ranging from setting up session variables, querying data from a database, collect usage information, or to block a non admin user from accessing an admin only section of the site (Note that [WebPermission]s are better suited for this purpose though.) When a request is received [WebRoot] (if it's used for a particular server) will go through all of it's registered Middlewares in order, and call their on_before_handle_request_main() method. If it returns true that means the middleware ended up handling that request, which means the request should not be processed further. This usually means that the Middleware sent an error. </description> <tutorials> </tutorials> <methods> <method name="_on_before_handle_request_main" qualifiers="virtual"> <return type="void" /> <argument index="0" name="request" type="WebServerRequest" /> <description> The default implementation of on_before_handle_request_main(). This is where you can implement your middleware's logic. </description> </method> <method name="on_before_handle_request_main"> <return type="bool" /> <argument index="0" name="request" type="WebServerRequest" /> <description> This method is used to process the given [WebServerRequest]. Return false if you want the processing to continue, return true to signal to the caller [WebRoot] that this [WebServerRequest] handled the request, and no further processing should be done. If you do this, you need to actually send something back in your implementation using the [WebServerRequest], othrewise the [WebServerRequest] will just get kept alive hanging until a timeout occurs. </description> </method> </methods> <constants> </constants> </class>