Esempio n. 1
0
 /**
  * Fetch a schema from the given URI, json-decode it and return it.
  * Caches schema objects.
  *
  * @param string $fetchUri Absolute URI
  *
  * @return object JSON schema object
  */
 protected function loadSchema($fetchUri)
 {
     if (isset($this->schemaCache[$fetchUri])) {
         return $this->schemaCache[$fetchUri];
     }
     $uriRetriever = $this->getUriRetriever();
     $contents = $this->uriRetriever->retrieve($fetchUri);
     $this->confirmMediaType($uriRetriever, $fetchUri);
     $jsonSchema = json_decode($contents);
     if (JSON_ERROR_NONE < ($error = json_last_error())) {
         throw new JsonDecodingException($error);
     }
     $this->schemaCache[$fetchUri] = $jsonSchema;
     return $jsonSchema;
 }
Esempio n. 2
0
 /**
  * {@inheritdoc}
  */
 public function getContentType()
 {
     return $this->lastUsedRetriever ? $this->lastUsedRetriever->getContentType() : null;
 }