Skip to content

[WIP] Schema URI support - #12

Merged
justinrainbow merged 2 commits into
jsonrainbow:masterfrom
scoolen:uri-refs
Jun 17, 2012
Merged

[WIP] Schema URI support#12
justinrainbow merged 2 commits into
jsonrainbow:masterfrom
scoolen:uri-refs

Conversation

@scoolen

@scoolen scoolen commented May 17, 2012

Copy link
Copy Markdown
Contributor

Hi,

This week I started working on the support of URIs in JSON schemas. Maybe you guys can have a look at it and give some feedback?

Basically the integration with the Validator so far is that if the extends property is a string, it tries to resolve it to a URI and then retrieve it via HTTP.

Thanks.

@justinrainbow

Copy link
Copy Markdown
Collaborator

Great feature to add, thanks a lot for the PR. I'm going to look through the diff later this week.

@afstanton

Copy link
Copy Markdown

I would find this a very useful addition to the code. Having the ability to extend pre-existing schemas would be very valuable.

@justinrainbow
justinrainbow merged commit 535962c into jsonrainbow:master Jun 17, 2012
@justinrainbow

Copy link
Copy Markdown
Collaborator

@scoolen Thanks for adding this

@afstanton

Copy link
Copy Markdown

I look forward to trying this out. Thanks!

DannyvdSluijs pushed a commit that referenced this pull request Jul 3, 2026
Trying to run composer in a PHP build without ext-filter fails with:

    Error: Call to undefined function JsonSchema\Uri\filter_var()
    Fatal error: Uncaught Error: Call to undefined function JsonSchema\Uri\filter_var() in phar:///*redacted*/bin/composer/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/UriResolver.php:84
    Stack trace:
    #0 phar:///*redacted*/bin/composer/vendor/justinrainbow/json-schema/src/JsonSchema/SchemaStorage.php(100): JsonSchema\Uri\UriResolver->resolve('*redacted*...', 'internal://prov...')
    #1 phar:///*redacted*/bin/composer/vendor/justinrainbow/json-schema/src/JsonSchema/SchemaStorage.php(76): JsonSchema\SchemaStorage->expandRefs(Object(stdClass), 'internal://prov...')
    #2 phar:///*redacted*/bin/composer/vendor/justinrainbow/json-schema/src/JsonSchema/Validator.php(67): JsonSchema\SchemaStorage->addSchema('internal://prov...', Object(stdClass))
    #3 phar:///*redacted*/bin/composer/src/Composer/Json/JsonFile.php(258): JsonSchema\Validator->validate(Object(stdClass), Object(stdClass))
    #4 phar:///*redacted*/bin/composer/src/Composer/Json/JsonFile.php(214): Composer\Json\JsonFile::validateJsonSchema('./composer.json', Object(stdClass), 1, '*redacted*...')
    #5 phar:///*redacted*/bin/composer/src/Composer/Factory.php(313): Composer\Json\JsonFile->validateSchema(1)
    #6 phar:///*redacted*/bin/composer/src/Composer/Factory.php(631): Composer\Factory->createComposer(Object(Composer\IO\ConsoleIO), './composer.json', true, '*redacted*...', true, false)
    #7 phar:///*redacted*/bin/composer/src/Composer/Console/Application.php(629): Composer\Factory::create(Object(Composer\IO\ConsoleIO), NULL, true, false)
    #8 phar:///*redacted*/bin/composer/src/Composer/Console/Application.php(538): Composer\Console\Application->getComposer(false, true)
    #9 phar:///*redacted*/bin/composer/src/Composer/Console/Application.php(485): Composer\Console\Application->hintCommonErrors(Object(Error), Object(Symfony\Component\Console\Output\ConsoleOutput))
    #10 phar:///*redacted*/bin/composer/vendor/symfony/console/Application.php(171): Composer\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
    #11 phar:///*redacted*/bin/composer/src/Composer/Console/Application.php(141): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
    #12 phar:///*redacted*/bin/composer/bin/composer(112): Composer\Console\Application->run()
    #13 /*redacted*/bin/composer(29): require('*redacted*...')
    #14 {main}
      thrown in phar:///*redacted*/bin/composer/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/UriResolver.php on line 84
    Error: Process completed with exit code 255.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants