mirror of
https://github.com/php-curl-class/php-curl-class.git
synced 2026-08-30 04:01:47 +00:00
Merge branch 'master' into master
This commit is contained in:
@@ -1,2 +1,4 @@
|
||||
vendor/
|
||||
composer.lock
|
||||
|
||||
.idea/
|
||||
|
||||
@@ -80,6 +80,7 @@ class Curl
|
||||
private $jsonPattern = '/^(?:application|text)\/(?:[a-z]+(?:[\.-][0-9a-z]+){0,}[\+\.]|x-)?json(?:-[a-z]+)?/i';
|
||||
private $xmlDecoder = null;
|
||||
private $xmlPattern = '~^(?:text/|application/(?:atom\+|rss\+)?)xml~i';
|
||||
private $defaultDecoder = null;
|
||||
|
||||
private static $deferredProperties = array(
|
||||
'totalTime',
|
||||
@@ -756,6 +757,25 @@ class Curl
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Set Default Decoder
|
||||
*
|
||||
* @access public
|
||||
* @param $decoder string|callable
|
||||
*/
|
||||
public function setDefaultDecoder($decoder = 'json')
|
||||
{
|
||||
if (is_callable($decoder)) {
|
||||
$this->defaultDecoder = $decoder;
|
||||
} else {
|
||||
if ($decoder === 'json') {
|
||||
$this->defaultDecoder = $this->jsonDecoder;
|
||||
} elseif ($decoder === 'xml') {
|
||||
$this->defaultDecoder = $this->xmlDecoder;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Set Default Timeout
|
||||
*
|
||||
@@ -1056,6 +1076,11 @@ class Curl
|
||||
if (is_callable($xml_decoder)) {
|
||||
$response = $xml_decoder($response);
|
||||
}
|
||||
} else {
|
||||
$decoder = $this->defaultDecoder;
|
||||
if (is_callable($decoder)) {
|
||||
$response = $decoder($response);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user