public final function route(ProxyEvent $event) { $url = $event['request']->getUri(); // url filter provided and current request url does not match it if ($this->url_pattern && strpos($url, $this->url_pattern) === false) { return; } switch ($event->getName()) { case 'request.before_send': $this->onBeforeRequest($event); break; case 'request.sent': $this->onHeadersReceived($event); break; case 'curl.callback.write': $this->onCurlWrite($event); break; case 'request.complete': $this->onCompleted($event); break; } }