summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorAvi Goldman <avrahamymgoldman@gmail.com>2016-06-09 13:31:57 -0400
committerAvi Goldman <avrahamymgoldman@gmail.com>2016-06-09 13:31:57 -0400
commit45657aeff2eabb9974676471f2924eeed1b4fb29 (patch)
tree52e6400c2cb6b1da1a7d9a6228227e727065ced9 /lib
parent1e6984319e51bf700ee9c1c9ad3435a013d3ac7f (diff)
downloadphp-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.php22
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;
}