Model/AnuraModel.php
public function getResult($ipAddress, $userAgent)
    {
        /** @var PluginEnhancerAnura $record */
        $record = $this->getRepository()->findByIpAndUserAgent($ipAddress, $userAgent);

        if (null === $record || 'failed' === $record->getResult()) {
            //perform lookup, save result
            $httpClient = new Client();

            $payload = [
                'instance' => $this->instance,
                'ip'       => $ipAddress,
                'ua'       => $userAgent,
            ];

            try {
                $response = $httpClient->request('GET', $this->endpoint, ['query' => $payload]);
                $result   = json_decode($response->getBody()->getContents(), true);
            } catch (\Exception $e) {
                $this->logger->error($e->getMessage());
                $result = ['result' => 'failed'];
            }

            if (null === $record) {
                $record = new PluginEnhancerAnura();
                $record
                    ->setIpAddress($ipAddress)
                    ->setUserAgent($userAgent);
            }
            $record
                ->setDateAdded(new \DateTime())
                ->setResult($result['result']);

            $this->getRepository()->saveEntity($record);
        }

        return $record->getResult();
    }
public function getResult($ipAddress, $userAgent)
    {
        /** @var PluginEnhancerAnura $record */
        $record = $this->getRepository()->findByIpAndUserAgent($ipAddress, $userAgent);

        if (null === $record || 'failed' === $record->getResult()) {
            //perform lookup, save result
            $httpClient = new Client();

            $payload = [
                'instance' => $this->instance,
                'ip'       => $ipAddress,
                'ua'       => $userAgent,
            ];

            try {
                $response = $httpClient->request('GET', $this->endpoint, ['query' => $payload]);
                $result   = json_decode($response->getBody()->getContents(), true);
            } catch (\Exception $e) {
                $this->logger->error($e->getMessage());
                $result = ['result' => 'failed'];
            }

            if (null === $record) {
                $record = new PluginEnhancerAnura();
                $record
                    ->setIpAddress($ipAddress)
                    ->setUserAgent($userAgent);
            }
            $record
                ->setDateAdded(new \DateTime())
                ->setResult($result['result']);

            $this->getRepository()->saveEntity($record);
        }

        return $record->getResult();
    }
public function getResult ( $ ipAddress , $ userAgent ) { /** @var PluginEnhancerAnura $record */ $ record = $ this -> getRepository ( ) -> findByIpAndUserAgent ( $ ipAddress , $ userAgent ) ; if ( null === $ record || 'failed' === $ record -> getResult ( ) ) { //perform lookup, save result $ httpClient = new Client ( ) ; $ payload = [ 'instance' => $ this -> instance , 'ip' => $ ipAddress , 'ua' => $ userAgent , ] ; try { $ response = $ httpClient -> request ( 'GET' , $ this -> endpoint , [ 'query' => $ payload ] ) ; $ result = json_decode ( $ response -> getBody ( ) -> getContents ( ) , true ) ; } catch ( \ Exception $ e ) { $ this -> logger -> error ( $ e -> getMessage ( ) ) ; $ result = [ 'result' => 'failed' ] ; } if ( null === $ record ) { $ record = new PluginEnhancerAnura ( ) ; $ record -> setIpAddress ( $ ipAddress ) -> setUserAgent ( $ userAgent ) ; } $ record -> setDateAdded ( new \ DateTime ( ) ) -> setResult ( $ result [ 'result' ] ) ; $ this -> getRepository ( ) -> saveEntity ( $ record ) ; } return $ record -> getResult ( ) ; }
@param $ipAddress
@param $userAgent

@return string

@throws \GuzzleHttp\Exception\GuzzleException
@param $ipAddress @param $userAgent