Commit Graph

133 Commits

Author SHA1 Message Date
Didier BRIZET
8912ad3490
Cancel patch change for each non valid logical combination (#231)
* Cancel patch change for each non valid logical combination

* Update CMakeLists.txt

---------

Co-authored-by: Patrick Boettcher <p@yai.se>
2023-07-04 13:03:37 +02:00
Volker Christian
bfdda20f5b
Fix bug: attr.value() of an array attribute returns an iterator of basic_json objects not an iterator of std::string (#276) 2023-06-19 16:47:34 +02:00
Cristian Le
0d60d48a58
Modernize cmake script (#262)
* Remove travis file
* Apply pre-commit fixes
* Modernize cmake file

- Added JSON_VALIDATOR_SHARED_LIBS to properly handle shared-library
- Bumped minimum cmake to 3.11 to use no-source add_library
- Bumped minimum cmake to 3.14 to properly support FetchContent (FetchContent_MakeAvailable)
- Converted Hunter package manager to FetchContent (It is plenty mature these days)
- Added namespace to exported target
- Made the cmake file compatible with FetchContent

* Use simplified FetchContent CI
* Add simple status messages
* Handle nlohmann dependency

Not an ideal approach, but required in order for the exported target to have appropriate linkage.
Maybe this can be designed to become a PRIVATE link library, but then how does it ensure the target is installed?

* Remove CMake-install test

This will be moved to packaging integration tests

* Enable code coverage

* Reconfigure ci presets

Signed-off-by: Cristian Le <cristian.le@mpsd.mpg.de>
2023-05-11 12:07:56 +02:00
Sven Fink
59c9d6200b For root value, use empty pointer 2023-01-16 00:01:58 +01:00
Robert Joslyn
491ac44026 Fix assumed signed char
The code assumes that char is signed, but whether char is signed or
unsigned is implementation defined. On some architectures like PowerPC,
GCC treats char as unsigned resulting in compile errors:

	smtp-address-validator.cpp:213:1: error: narrowing conversion of '-32' from 'int' to 'char' [-Wnarrowing]

Fix this by specifying signed char.
2022-12-01 00:20:33 +01:00
Gareth Sylvester-Bradley
dfcb0152e9 Local include for smtp-address-validator.hpp 2022-11-28 13:09:52 +01:00
Gene Hightower
fd622c040b Use Ragel generated RFC-5321/RFC-6531 parsrr
Mailbox address parser from <https://github.com/gene-hightower/smtp-address-validator>
2022-11-26 17:51:37 +01:00
sebasfalcone
2a2d2d25d1 CL: Splited regex string to improve readability 2022-10-29 19:03:36 +02:00
sebasfalcone
e1e6581b05 CL: encapsulation 2022-10-29 19:03:36 +02:00
sebasfalcone
e39c1aef5b CL:
- Added tests for URI format
- Added URI format validationCL:
2022-10-29 19:03:36 +02:00
Francesco Biscani
1b27d5cf01 Increase the verbosity of the error message produced when there are undefined references. 2022-09-03 09:24:09 +02:00
Chris Wright
e1e48ddbe0 Replace dynamic_cast with member functions (#210) 2022-09-02 17:50:07 +02:00
res0nance
793b85ce12 chore: use to_string() for json_pointers 2022-09-01 20:07:10 +02:00
res0nance
d2210f65da chore: use to_string() to avoid warning 2022-08-24 18:59:13 +02:00
Patrick Boettcher
4f67636760 ref-schema: create a new ref-schema when default-value is present
Default-values on schemas with a $ref field are now stored within
a new reference schema which links to the original reference schema.
It contains the default value and keeps a strong reference (shared_ptr)
to the original reference.

Fixes #209
2022-06-27 10:30:11 +02:00
Martin KOCH
5e5918d2ae distinguish between schema_ref and type_schema 2022-06-06 10:09:51 +02:00
Patrick Boettcher
61d8b6deb4 make default-values work for stacked $refs 2022-06-06 10:08:43 +02:00
Martin KOCH
686f3b1cc5 Support override of default value when using referenced schemas (#189) 2022-06-06 10:08:43 +02:00
Matthias Deimbacher
0d563960cd Fix explicit conversion to string 2022-06-06 08:59:43 +02:00
Leon De Andrade
8e4751f6f7 Add dll export macro to format check 2022-01-01 18:30:55 +01:00
Luke
d8467b7c08
Updated exclusive min/max error message #182 (#183)
The error messages for exclusive minimum and maximum have been updated
to include 'or equals' for greater clarity.

Fix #182
2021-11-18 18:32:40 +01:00
qvfh83
0097de3c54
Use explicit type conversion from json (#173)
* Use explicit type conversion

As detailed in https://github.com/nlohmann/json#implicit-conversions, it's recommended not to use implicit conversions from json. This change allows those using "JSON_ImplicitConversions" OFF to still build this package.

* Use matching type from declaration for some variables.
2021-10-10 18:03:09 +02:00
Leon De Andrade
4ebc6c2334 Feature: Add uuid format-string support 2021-09-08 15:34:08 +02:00
Patrick Boettcher
efb0a3127b update to latest JSON-Schema-Test-Suite 2021-09-06 16:20:26 +02:00
Patrick Boettcher
89ed13d76b First implementation of sub-schema-validation on request.
#149 and #135
2021-06-17 09:06:23 +02:00
Patrick Boettcher
b4733c50c1 update to latest JSON-schema-tests, with some fixes 2021-06-10 11:02:41 +02:00
eike-fokken
e1cef0b58b
fixed occurences of old-style casts and an implicit cast to double (#151)
* fixed occurences of old-style casts and an implicit cast to double

Co-authored-by: Eike <e.fokken+git@posteo.de>
2021-03-16 00:11:10 +01:00
Patrick Boettcher
3893a2c3af fix #143: the whole unknown keywords-hierarchy needs to be an object
Even if the key is a number in a string. See issue for more details.
2021-03-09 10:39:19 +01:00
Felix Benning
83fd6a8a1f remove-semicolon 2021-03-08 08:14:51 +01:00
Patrick Boettcher
a4bc67d754 force schema-instance-type of unknown-keywords to an object
fixes #143
2021-02-08 17:57:21 +01:00
Michael Jabbour
73d57d9540
Fix explicit tuple constructor error on gcc-5 (#138) 2020-12-03 11:49:52 +01:00
Michael Jabbour
5302adfdc7
Remove unnecessary call to std::tie (fixes compilation error on MSVC 2017) (#137)
* replace std::tie with simple tuple

The call to std::tie was causing a compiler error on MSVC 2017.
2020-11-26 10:30:14 +01:00
Mark Marshall
1519c845c2 Don't shadow "schema" with local variables of the same name
This fixes a warning from gcc (-Wshadow).
2020-09-03 10:41:40 +02:00
Patrick Boettcher
8a30b6b483 binary-type was added to nlohmann::json 3.8.0 - this is the minimum requirement now 2020-07-13 11:18:20 +02:00
Patrick Boettcher
5782bdcf9e use auto for char-type 2020-07-13 11:17:18 +02:00
andrejlevkovitch
b9d8e098cd add checks about content checker at shema parsing stage 2020-07-13 11:13:08 +02:00
andrejlevkovitch
dbf59ab4c3 move checks contentEncoding and contentMediaType to string schema 2020-07-13 11:13:08 +02:00
andrejlevkovitch
a632d2707b add support for validate binary data in nlohmann::json
Used for bson or other implementations of binary json-instances.
2020-07-13 11:13:08 +02:00
Patrick Boettcher
5ef4f903af add content-checker-callback
Used when contentEncoding or mediaType attributes are present
on a string-value.
2020-07-13 11:12:48 +02:00
Guillaume G
32af07ce19
fix default is empty object (#123)
* fix default is empty object

* add counter check with no default or null
2020-06-29 15:20:07 +02:00
andrejlevkovitch
0a83ee0c68 remove {} from one line if 2020-06-12 17:22:46 +02:00
andrejlevkovitch
7554b4ca70 add checking about format-checker existance at schema parsing time 2020-06-12 17:22:46 +02:00
Patrick Boettcher
8125a3e352 after et_root_schema, throw if there are undef refs
fix #97
2020-05-15 09:35:11 +02:00
Patrick Boettcher
c12a27eee1 use schema to validate json-patch and use json_pointer to verify path
fix #107
2020-05-15 08:59:11 +02:00
Patrick Boettcher
a0fca479f6 fix #109: use weak_ptr in schema_refs 2020-05-01 11:19:16 +02:00
Patrick Boettcher
2cc7e9aaa5 schema-URIs with plain name identifiers cannot have derived sub-schema-URIs
fix #96
2020-04-25 08:26:55 +02:00
Patrick Boettcher
b28c15adea fix #101: throw an exception if JSON-type of schema is not one of the expected types 2020-04-15 09:37:16 +02:00
Patrick Boettcher
03af1b5e1e fix #100: only look for "unknown keyword" if the uri contains a pointer. 2020-04-15 09:37:04 +02:00
Patrick Boettcher
81eba4928d fix #98: catch out-of-range-exception only
Leave other exception go through - real errors.
2020-04-09 15:16:25 +02:00
Patrick Boettcher
940262ceae fix #93 by returning default-values for refs
and also return them for root-schemas
2020-03-26 10:49:58 +01:00