| Conditions | 2 | 
| Paths | 6 | 
| Total Lines | 22 | 
| Code Lines | 14 | 
| Lines | 0 | 
| Ratio | 0 % | 
| Changes | 0 | ||
| 1 | <?php  | 
            ||
| 5 | public function resolve(int $timeout): ?EasyRdf\Resource  | 
            ||
| 6 |     { | 
            ||
| 7 | // prevent parsing errors for sources which return invalid JSON (see #447)  | 
            ||
| 8 | // 1. Unregister the legacy RDF/JSON parser, we don't want to use it  | 
            ||
| 9 |         EasyRdf\Format::unregister('json'); | 
            ||
| 10 | // 2. Add "application/json" as a possible MIME type for the JSON-LD format  | 
            ||
| 11 |         $jsonld = EasyRdf\Format::getFormat('jsonld'); | 
            ||
| 12 | $mimetypes = $jsonld->getMimeTypes();  | 
            ||
| 13 | $mimetypes['application/json'] = 0.5;  | 
            ||
| 14 | $jsonld->setMimeTypes($mimetypes);  | 
            ||
| 15 | |||
| 16 |         try { | 
            ||
| 17 | // change the timeout setting for external requests  | 
            ||
| 18 | $httpclient = EasyRdf\Http::getDefaultHttpClient();  | 
            ||
| 19 |             $httpclient->setConfig(array('timeout' => $timeout, 'useragent' => 'Skosmos')); | 
            ||
| 20 | EasyRdf\Http::setDefaultHttpClient($httpclient);  | 
            ||
| 21 | |||
| 22 | $graph = EasyRdf\Graph::newAndLoad(EasyRdf\Utils::removeFragmentFromUri($this->uri));  | 
            ||
| 23 | return $graph->resource($this->uri);  | 
            ||
| 24 |         } catch (Exception $e) { | 
            ||
| 25 |             $this->model->getLogger()->info("LD resolution failed for <{$this->uri}>: $e"); | 
            ||
| 26 | return null;  | 
            ||
| 27 | }  | 
            ||
| 32 |