restServer = PROTOCOL_HTTP . COLON.PATH_SEP . PATH_SEP; $this->restServer .= $_SERVER['SERVER_NAME'] . PATH_SEP; $this->restServer .= $this->serviceTechnic . PATH_SEP . $workspace . PATH_SEP; $this->ch = curl_init(); curl_setopt($this->ch,CURLOPT_TIMEOUT, 2); curl_setopt($this->ch,CURLOPT_POST, 1); curl_setopt($this->ch,CURLOPT_RETURNTRANSFER, 1); } /** * set the message in order to follow the message format */ abstract protected function format(array $message); /** * Set properties used in a simpleMessage Class like a set in a URI, or formatted as a JSon msg. */ abstract protected function setMoreProperties($messageFormated); /** * Attach the method to the restServer path, set the type of the message, and the message itself. */ protected function setMessageProperties($method,array $message) { $messageFormated = $this->format($message); $this->server_method = $this->restServer . $method; $this->setMoreProperties($messageFormated); } /** * Send or execute(curl notation) the message using a rest method **/ public function send($method,array $message) { self::setMessageProperties($method,$message); $this->output = curl_exec($this->ch); return $this->output; } /** * Set the message to GET method type */ public function sendGET($method,array $message) { curl_setopt($this->ch, CURLOPT_HTTPGET,true); return $this->send($method,$message); } /** * Set the message to POST method type */ public function sendPOST($method,array $message) { curl_setopt($this->ch,CURLOPT_POST,true); return $this->send($method,$message); } /** * Set the message to PUT method type */ public function sendPUT($method,array $message) { curl_setopt($this->ch,CURLOPT_PUT,true); return $this->send($method,$message); } /** * Set the message to DELETE method type */ public function sendDELETE($method,array $message) { curl_setopt($this->ch,CURLOPT_CUSTOMREQUEST,"DELETE"); return $this->send($method,$message); } /** * Display all the data that the response could got. */ public function displayResponse() { $error = curl_error($this->ch); $result = array( 'header' => '', 'body' => '', 'curl_error' => '', 'http_code' => '', 'last_url' => ''); if ($error != ""){ $result['curl_error'] = $error; return $result; } $response = $this->output; $header_size = curl_getinfo($this->ch,CURLINFO_HEADER_SIZE); $result['header'] = substr($response,0,$header_size); $result['body'] = substr($response,$header_size); $result['http_code'] = curl_getinfo($this -> ch,CURLINFO_HTTP_CODE); $result['last_url'] = curl_getinfo($this -> ch,CURLINFO_EFFECTIVE_URL); echo $this->type." Response: ".$response."
"; foreach($result as $index => $data) { if($data != ""){ echo $index . "=" . $data . "
"; } } echo "
"; } /** * Close the Curl session using the Curl Handle set by curl_init() function. */ public function close() { curl_close($this->ch); } } ?>