/** * Creates a new request, sends and receives the data. * @param string $uri The uri this request is sent to. * @param string $method The method (GET,PUT,POST,DELETE) * @param array $data The data to be sent as array * @return array The parsed response as PHP array */ protected function sendRequest($uri, $method = EActiveResourceRequest::METHOD_GET, $data = null) { $request = new EActiveResourceRequest(); /* if($data) switch($this->getContentType()) { case EActiveResourceRequest::APPLICATION_JSON: $data= EActiveResourceParser::arrayToJSON($data); $headers=array( 'Content-Length: ' .strlen($data), 'Content-Type: ' .$this->getContentType(), 'Accept: ' .$this->getAcceptType(), ); break; case EActiveResourceRequest::APPLICATION_XML: $data= EActiveResourceParser::arrayToXML($data); $headers=array( 'Content-Length: ' .strlen($data), 'Content-Type: ' .$this->getContentType(), 'Accept: ' .$this->getAcceptType(), ); break; case EActiveResourceRequest::APPLICATION_FORM_URL_ENCODED: $data=EActiveResourceParser::arrayToFormData($data); $headers=array( 'Content-Length: ' .strlen($data), 'Content-Type: ' .$this->getContentType(), 'Accept: ' .$this->getAcceptType(), ); break; } else $headers=array( 'Accept: ' .$this->getAcceptType(), ); if($data) Yii::trace('Sending '.$method.' request to '.$uri.' with content-type:'.$this->getContentType().', accept: '.$this->getAcceptType().' and data: '.$data.' with '.$headers[0],'ext.EActiveResource'); else Yii::trace('Sending '.$method.' request to '.$uri.' without data, accepting: '.$this->getAcceptType(),'ext.EActiveResource'); */ $headers = array('X-mediav-auth:' . $this->getMetaData()->mediavAuth, 'X-mediav-entity:' . $this->getMetaData()->mediavEnity, 'Host:' . $this->getMetaData()->mediavHost); $response = $request->run($uri, $method, $data, $headers); Yii::trace('The service responded with: ' . $response, 'ext.EActiveResource'); //now build an array out of the response switch ($this->getAcceptType()) { case EActiveResourceRequest::APPLICATION_JSON: $parsedResponse = EActiveResourceParser::JSONToArray($response); return $parsedResponse; break; case EActiveResourceRequest::APPLICATION_XML: $parsedResponse = EActiveResourceParser::XMLToArray($response); return $parsedResponse; break; } }