Browse Source

try catch

Guillermo Espinoza 7 years ago
parent
commit
324231a4f5
1 changed files with 37 additions and 27 deletions
  1. 37 27
      Services/Webservice.php

+ 37 - 27
Services/Webservice.php

@@ -3,6 +3,7 @@
 namespace WebserviceBundle\Services;
 
 use Buzz\Client\Curl;
+use Buzz\Exception\RequestException;
 use Buzz\Message\Request as HttpRequest;
 use Buzz\Message\RequestInterface as HttpRequestInterface;
 use Buzz\Message\Response as HttpResponse;
@@ -94,17 +95,22 @@ class Webservice
      */
     public function makeRequest($url, $method = HttpRequestInterface::METHOD_GET, $data = array())
     {
-        $request = new HttpRequest($method, $url);
-        $headers = array();
-        if (!empty($data)) {
-            $headers[] = 'Content-Type: application/x-www-form-urlencoded';
-            $request->setContent(http_build_query($data));
+        try {
+            $request = new HttpRequest($method, $url);
+            $headers = array();
+            if (!empty($data)) {
+                $headers[] = 'Content-Type: application/x-www-form-urlencoded';
+                $request->setContent(http_build_query($data));
+            }
+            $request->setHeaders($headers);
+            $response = new HttpResponse();
+            $this->httpClient->send($request, $response);
+            $response = $response->getContent();
+        } catch (RequestException $ex) {
+            $response = '';
         }
-        $request->setHeaders($headers);
-        $response = new HttpResponse();
-        $this->httpClient->send($request, $response);
 
-        return $response->getContent();
+        return $response;
     }
 
     /**
@@ -117,25 +123,29 @@ class Webservice
      */
     public function makeGetRequest($url, $method = HttpRequestInterface::METHOD_GET, $data = array(), $credentials = array())
     {
-        $headers = array();
-        if ($token = $this->securityTokenStorage->getToken()) {
-            if (method_exists($token, 'getAccessToken')) {
-                $headers[] = 'Authorization: Bearer ' . $token->getAccessToken();
+        try {
+            $headers = array();
+            if ($token = $this->securityTokenStorage->getToken()) {
+                if (method_exists($token, 'getAccessToken')) {
+                    $headers[] = 'Authorization: Bearer ' . $token->getAccessToken();
+                }
+            } elseif (!empty($credentials) && isset($credentials['username']) && isset($credentials['password'])) {
+                $headers[] = 'Authorization: Basic ' . base64_encode($credentials['username'] . ":" . $credentials['password']);
+            } else {
+                return '';
             }
-        } elseif (!empty($credentials) && isset($credentials['username']) && isset($credentials['password'])) {
-            $headers[] = 'Authorization: Basic ' . base64_encode($credentials['username'] . ":" . $credentials['password']);
-        } else {
-            return '';
-        }
-        $request = new HttpRequest($method, $url);
-        if (!empty($data)) {
-            $headers[] = 'Content-Type: application/x-www-form-urlencoded';
-            $request->setContent(http_build_query($data));
+            $request = new HttpRequest($method, $url);
+            if (!empty($data)) {
+                $headers[] = 'Content-Type: application/x-www-form-urlencoded';
+                $request->setContent(http_build_query($data));
+            }
+            $request->setHeaders($headers);
+            $response = new HttpResponse();
+            $this->httpClient->send($request, $response);
+            $response = $response->getContent();
+        } catch (RequestException $ex) {
+            $response = '';
         }
-        $request->setHeaders($headers);
-        $response = new HttpResponse();
-        $this->httpClient->send($request, $response);
-        $response = $response->getContent();
 
         return $response;
     }
@@ -203,7 +213,7 @@ class Webservice
         if ($this->serviceContainer->hasParameter($webservice)) {
             $url = $this->serviceContainer->getParameter($webservice);
         }
-        
+
         $parameters = [];
         if ($filters) {
             $parameters['filters'] = $filters;