protected function request_proxy_data($data)
    {
        if (isset($this->params['rescued'])) {
            return $data;
        }

        $data['$proxy'] = array(
            'client' => isset($this->params['route']['client'])
                ? $this->params['route']['client']
                : $this->params['client_id'],
            'host' => $this->params['host'],
            'port' => $this->params['port']
        );
        if (is_array($this->params['proxy'])) {
            $this->server->options['clear'] = isset($this->params['proxy']['clear'])
                ? $this->params['proxy']['clear'] : false;
            $this->server->options['host'] = isset($this->params['proxy']['host'])
                ? $this->params['proxy']['host'] : $this->params['host'];
            $this->server->options['port'] = isset($this->params['proxy']['port'])
                ? $this->params['proxy']['port'] : $this->params['port'];
        }

        return $data;
    }