JSON-GRDDL
view release on metacpan or search on metacpan
lib/JSON/GRDDL.pm view on Meta::CPAN
$T = $self->_resolve_relative_ref($document->{'$schema'}->{'$schemaTransformation'}, $uri);
}
elsif (defined $document->{'$schema'}->{'$ref'})
{
my $s = $self->_resolve_relative_ref($document->{'$schema'}->{'$ref'}, $uri);
my $r = $self->_fetch($s,
Accept => 'application/schema+json, application/x-schema+json, application/json');
if (defined $r
&& $r->code == 200
&& $r->header('content-type') =~ m#^\s*(((application|text)/(x-)?json)|(application/(x-)?schema\+json))\b#)
{
my $schema = from_json($r->decoded_content);
if (defined $schema->{'$schemaTransformation'})
{
$T = $self->_resolve_relative_ref($schema->{'$schemaTransformation'}, $s);
}
}
}
return ($T);
}
lib/JSON/GRDDL.pm view on Meta::CPAN
sub transform_by_uri
{
my ($self, $document, $uri, $transformation_uri, %options) = @_;
my ($name) = ($transformation_uri =~ /\#(.+)$/);
my $r = $self->_fetch($transformation_uri,
Accept => 'application/ecmascript, application/javascript, text/ecmascript, text/javascript, application/x-ecmascript');
if (defined $r
&& $r->code == 200
&& $r->header('content-type') =~ m#^\s*((application|text)/(x-)?(java|ecma)script)\b#)
{
return $self->transform_by_jsont($document, $uri, $r->decoded_content, $name, %options);
}
return;
}
sub transform_by_jsont
{
my ($self, $document, $uri, $transformation, $name, %options) = @_;
( run in 1.084 second using v1.01-cache-2.11-cpan-d7f47b0818f )