Blame | Letzte Änderung | Log anzeigen | RSS feed
<?php namespace Clockwork\Request;// Filter requests before recordingclass ShouldRecord{// Enable collecting of errors only (requests with 4xx or 5xx responses)protected $errorsOnly = false;// Enable collecting of slow requests only, slow response time threshold in msprotected $slowOnly = false;// Custom filter callbackprotected $callback;// Merge multiple settings from arraypublic function merge(array $data = []){foreach ($data as $key => $val) $this->$key = $val;}// Apply the filter to a requestpublic function filter(Request $request){return $this->passErrorsOnly($request)&& $this->passSlowOnly($request)&& $this->passCallback($request);}protected function passErrorsOnly(Request $request){if (! $this->errorsOnly) return true;return 400 <= $request->responseStatus && $request->responseStatus <= 599;}protected function passSlowOnly(Request $request){if (! $this->slowOnly) return true;return $request->getResponseDuration() >= $this->slowOnly;}protected function passCallback(Request $request){if (! $this->callback) return true;return call_user_func($this->callback, $request);}// Fluent APIpublic function __call($method, $parameters){if (! count($parameters)) return $this->$method;$this->$method = count($parameters) ? $parameters[0] : true;return $this;}}