restServer = PROTOCOL_HTTP.COLON.PATH_SEP.PATH_SEP; $this->restServer .= $_SERVER['SERVER_NAME'].PATH_SEP; $this->restServer .= $this->serviceTechnic.PATH_SEP.$user.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); } } ?>