<?php /** * A request filter is an object that's executed before and after a * request occurs. By returning 'false' from the preRequest method, * request execution will be stopped from continuing * * @author marcus@silverstripe.com.au * @license BSD License http://silverstripe.org/bsd-license/ * @package framework * @subpackage control */ interface RequestFilter { /** * Filter executed before a request processes * * @param SS_HTTPRequest $request Request container object * @param Session $session Request session * @param DataModel $model Current DataModel * @return boolean Whether to continue processing other filters. Null or true will continue processing (optional) */ public function preRequest(SS_HTTPRequest $request, Session $session, DataModel $model); /** * Filter executed AFTER a request * * @param SS_HTTPRequest $request Request container object * @param SS_HTTPResponse $response Response output object * @param DataModel $model Current DataModel * @return boolean Whether to continue processing other filters. Null or true will continue processing (optional) */ public function postRequest(SS_HTTPRequest $request, SS_HTTPResponse $response, DataModel $model); }