Source for file AdiantiHttpClient.php
Documentation is available at AdiantiHttpClient.php
* Basic HTTP Client request
* @author Pablo Dall'Oglio
* @copyright Copyright (c) 2006 Adianti Solutions Ltd. (http://www.adianti.com.br)
* @license http://www.adianti.com.br/framework-license
* @param $method method type (GET,PUT,DELETE,POST)
* @param $params request body
public static function request ( $url , $method =
'POST' , $params =
[ ] , $authorization =
null )
if ( $method ==
'POST' ||
$method ==
'PUT' )
curl_setopt ( $ch , CURLOPT_POSTFIELDS , json_encode ( $params )) ;
curl_setopt ( $ch , CURLOPT_POST , true ) ;
else if ( ( $method ==
'GET' ||
$method ==
'DELETE' ) &&
$params )
CURLOPT_CUSTOMREQUEST =>
$method ,
CURLOPT_RETURNTRANSFER =>
true ,
CURLOPT_SSL_VERIFYHOST =>
false ,
CURLOPT_SSL_VERIFYPEER =>
false ,
CURLOPT_CONNECTTIMEOUT =>
10
if ( ! empty ( $authorization ))
$defaults [ CURLOPT_HTTPHEADER ] =
[ 'Authorization: ' .
$authorization ] ;
curl_setopt_array ( $ch , $defaults ) ;
$output =
curl_exec ( $ch ) ;
throw
new Exception ( curl_error ( $ch ) ) ;
if ( ! empty ( $return [ 'status' ] ) &&
$return [ 'status' ] ==
'error' ) {
throw
new Exception ( ! empty ( $return [ 'data' ] ) ?
$return [ 'data' ] :
$return [ 'message' ] ) ;
if ( ! empty ( $return [ 'error' ] )) {
throw
new Exception ( $return [ 'error' ] [ 'message' ] ) ;
if ( ! empty ( $return [ 'errors' ] )) {
throw
new Exception ( $return [ 'errors' ] [ 'message' ] ) ;
if ( ! empty ( $return [ 'data' ] ))