예제 #1
0
 public function onError(ErrorEvent $event, $name)
 {
     $params = Base::parse($event->getResponse());
     $response = new \GuzzleHttp\Message\Response(200);
     $event->intercept($response);
     $event->stopPropagation();
 }
예제 #2
0
 public function onError(ErrorEvent $event)
 {
     $params = Base::parse($event->getResponse());
     if (isset($params['error']['code'])) {
         //invalid session possibly, let's reset the token
         if ($params['error']['code'] == 100) {
             $this->service->resetAccessToken();
         }
     }
     \Log::info('Facebook Error: ' . (string) $event->getResponse()->getBody());
     $response = new \GuzzleHttp\Message\Response(200);
     $event->intercept($response);
     $event->stopPropagation();
 }
예제 #3
0
 public function cacheQuery(CompleteEvent $event, $name)
 {
     $request = $event->getRequest();
     $content = Base::parse($event->getResponse());
     //if content is empty, do not proceed with caching
     if (count($content) < 1 or $content == '' or $content == NULL) {
         return;
     }
     if ($request->getMethod() == 'GET' and $event->getResponse()->getStatusCode() == 200) {
         $url = Base::getBaseUrl($request->getUrl());
         if (!preg_match('/token|oauth/', $url)) {
             $ttl = $this->params['cache_ttl'];
             if (!$this->store->has($this->_cache_name)) {
                 \Log::info('storing response in cache');
                 $this->store->put($this->_cache_name, $content, $ttl);
             }
         }
     }
 }
예제 #4
0
 public function authError($event)
 {
     $json = $event->getResponse();
     $params = \Onefasteuro\OauthApp\Services\Base::parseTokenParams($json);
     if (isset($params['errors'])) {
         //invalid session possibly, let's reset the token
         if ($params['errors'][0]['code'] == 220) {
             $response = new \GuzzleHttp\Message\Response(200, [], $event->getResponse()->getBody());
         } else {
             if ($params['errors'][0]['code'] == 89 or $params['errors'][0]['code'] == 99) {
                 //expired code? let's reset
                 $this->service->resetAccessToken(NULL, 'cache', true);
                 $response = new \GuzzleHttp\Message\Response(200, [], $event->getResponse()->getBody());
             } else {
                 $response = new \GuzzleHttp\Message\Response(200, [], $event->getResponse()->getBody());
             }
         }
         $event->intercept($response);
         $event->stopPropagation();
     }
 }
예제 #5
0
 public function __construct(Sess $session, CRepository $config, CacheManager $cache, \Guzzlehttp\Client $client, \Illuminate\Http\Request $request)
 {
     parent::__construct($config, $client, $cache, $session, $request);
     $this->graph = $this->config->get('oauth-app::facebook.graph');
 }