|
@@ -2,15 +2,25 @@
|
|
|
|
|
|
namespace WebserviceBundle\Services;
|
|
|
|
|
|
+use Buzz\Message\Request as HttpRequest;
|
|
|
+use Buzz\Message\RequestInterface as HttpRequestInterface;
|
|
|
+use Buzz\Message\Response as HttpResponse;
|
|
|
+
|
|
|
class Webservice
|
|
|
{
|
|
|
|
|
|
protected $serviceContainer;
|
|
|
|
|
|
+ protected $securityTokenStorage;
|
|
|
+
|
|
|
+ protected $httpClient;
|
|
|
+
|
|
|
|
|
|
- public function __construct($serviceContainer)
|
|
|
+ public function __construct($serviceContainer, $securityTokenStorage, $httpClient)
|
|
|
{
|
|
|
$this->serviceContainer = $serviceContainer;
|
|
|
+ $this->securityTokenStorage = $securityTokenStorage;
|
|
|
+ $this->httpClient = $httpClient;
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -28,7 +38,7 @@ class Webservice
|
|
|
|
|
|
return $choices;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
/**
|
|
|
* @param string $webservice
|
|
|
* @param array $params
|
|
@@ -44,7 +54,8 @@ class Webservice
|
|
|
$url .= "&filters[{$param}]=$value";
|
|
|
}
|
|
|
try {
|
|
|
- $results = json_decode(file_get_contents($url), true);
|
|
|
+ $response = $this->makeGetRequest($url);
|
|
|
+ $results = json_decode($response->getContent(), true);
|
|
|
} catch (\Exception $ex) {
|
|
|
|
|
|
}
|
|
@@ -52,6 +63,25 @@ class Webservice
|
|
|
|
|
|
return $results;
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @param string $url
|
|
|
+ * @return HttpResponse
|
|
|
+ */
|
|
|
+ public function makeGetRequest($url)
|
|
|
+ {
|
|
|
+ $response = '';
|
|
|
+ if ($token = $this->securityTokenStorage->getToken()) {
|
|
|
+ $accessToken = $token->getAccessToken();
|
|
|
+
|
|
|
+ $request = new HttpRequest(HttpRequestInterface::METHOD_GET, $url);
|
|
|
+ $response = new HttpResponse();
|
|
|
+ $request->setHeaders(array('Authorization: Bearer ' . $accessToken));
|
|
|
+ $this->httpClient->send($request, $response);
|
|
|
+ }
|
|
|
+
|
|
|
+ return $response;
|
|
|
+ }
|
|
|
|
|
|
/**
|
|
|
* @param string $webservice
|