Merge branch 'master' into master

This commit is contained in:
Zach Borboa
2016-07-11 00:21:35 -07:00
committed by GitHub
2 changed files with 27 additions and 0 deletions
+2
View File
@@ -1,2 +1,4 @@
vendor/
composer.lock
.idea/
+25
View File
@@ -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);
}
}
}