openstackweb/ICLA/code/infrastructure/services/AbstractRestfulServiceReque...

39 lines
1.3 KiB
PHP

<?php
/**
* Copyright 2014 Openstack.org
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* http://www.apache.org/licenses/LICENSE-2.0
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
**/
/**
* Class AbstractRestfulServiceRequestor
*/
abstract class AbstractRestfulServiceRequestor {
/**
* @param string $url
* @param null|string $user
* @param null|string $password
* @return mixed
*/
protected function doRequest($url, $user = null, $password = null){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
if(!empty($user) && !empty($password)){
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_DIGEST);
curl_setopt($ch, CURLOPT_USERPWD, sprintf("%s:%s", $user, $password));
}
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
$response = curl_exec($ch);
curl_close($ch);
return $response;
}
}