Validate extensions from schema URLs #664
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Overview
This PR introduces mechanisms to read extension validators from JSON schemata. This flow involves handling a few distinct kinds of error:
after all of this, we should eventually get a function using that Schema from Item => Item or Collection => Collection that we can use for validation on read.
This costly process is wrapped in a
Ref
(we're not on 3.x yet but the basics are the same) so that we don't have to try the same sequence of resolutions every time we see the special string.Checklist
Notes
I've asked in STAC gitter about what others are doing about the json schema links. This might end up being a roll-our-own situation if we don't have good library support for resolving with links. I think we can do that on top of circe-json-schema without too much hassle though.
Testing Instructions