diff options
author | Avi Goldman <avrahamymgoldman@gmail.com> | 2016-06-09 13:31:57 -0400 |
---|---|---|
committer | Avi Goldman <avrahamymgoldman@gmail.com> | 2016-06-09 13:31:57 -0400 |
commit | 45657aeff2eabb9974676471f2924eeed1b4fb29 (patch) | |
tree | 52e6400c2cb6b1da1a7d9a6228227e727065ced9 /lib | |
parent | 1e6984319e51bf700ee9c1c9ad3435a013d3ac7f (diff) | |
download | php-sparkpost-45657aeff2eabb9974676471f2924eeed1b4fb29.zip php-sparkpost-45657aeff2eabb9974676471f2924eeed1b4fb29.tar.gz php-sparkpost-45657aeff2eabb9974676471f2924eeed1b4fb29.tar.bz2 |
FAD-3148 a bit more functionality in the base class
Diffstat (limited to 'lib')
-rw-r--r-- | lib/SparkPost/SparkPost.php | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/lib/SparkPost/SparkPost.php b/lib/SparkPost/SparkPost.php index 81577fe..8ba9bf9 100644 --- a/lib/SparkPost/SparkPost.php +++ b/lib/SparkPost/SparkPost.php @@ -9,9 +9,7 @@ class SparkPost { private $version = '2.0.0'; private $config; - public $httpClient; - private $options; private static $defaultOptions = [ @@ -24,10 +22,10 @@ class SparkPost 'timeout' => 10 ]; - public function __construct($httpAdapter, $options) + public function __construct(HttpClient $httpClient, $options) { $this->setOptions($options); - $this->setHttpAdapter($httpAdapter); + $this->setHttpClient($httpClient); } public function request($method, $uri, $payload = []) @@ -49,7 +47,7 @@ class SparkPost $request = new Request($method, $url, $headers, $body); - return $httpClient->sendRequest($request); + return $httpClient->sendAsyncRequest($request); } public function getHttpHeaders() @@ -60,11 +58,19 @@ class SparkPost ]; } - public function getUrl($uri, $params) { - return ''; + public function getUrl($path, $params) { + $options = $this->options; + + for ($index = 0; $index < count($params); $index++) { + if (is_array($params[$index])) + $params[$index] = implode(',', $params); + } + $paramsString = http_build_query($params); + + return $options['protocol'].'://'.$options['host'].($options['port'] ? ':'.$options['port'] : '').'/api/'.$options['version'].'/'.$path.($paramsString ? '?'.$paramsString : ''); } - public function setHttpAdapter(HttpClient $httpClient) + public function setHttpClient(HttpClient $httpClient) { $this->httpClient = $httpClient; } |