34#include <rapidjson/reader.h>
102 std::string *error_message,
115 const rapidjson::Reader &reader);
This class implements a handler for use with rapidjson::Reader when we want to check if a string is a...
Definition: json_syntax_check.h:65
size_t m_depth
The current depth of the document.
Definition: json_syntax_check.h:76
bool EndObject(rapidjson::SizeType)
Definition: json_syntax_check.cc:44
bool m_too_deep_error_raised
Definition: json_syntax_check.h:78
JsonDocumentDepthHandler m_depth_handler
Pointer to a function that should handle error occurred when depth is exceeded.
Definition: json_syntax_check.h:81
Syntax_check_handler(JsonDocumentDepthHandler m_depth_handler)
Definition: json_syntax_check.cc:58
bool too_deep_error_raised() const
Definition: json_syntax_check.h:72
bool StartArray()
Definition: json_syntax_check.cc:49
bool StartObject()
Definition: json_syntax_check.cc:39
bool EndArray(rapidjson::SizeType)
Definition: json_syntax_check.cc:54
The handler class is the interface for dynamically loadable storage engines.
Definition: handler.h:4412
std::function< void()> JsonDocumentDepthHandler
Definition: json_error_handler.h:32
std::pair< std::string, size_t > get_error_from_reader(const rapidjson::Reader &reader)
Extract a readable error from a rapidjson reader and return it to the caller.
Definition: json_syntax_check.cc:95
bool check_json_depth(size_t depth, const JsonDocumentDepthHandler &handler)
Check if the depth of a JSON document exceeds the maximum supported depth (JSON_DOCUMENT_MAX_DEPTH).
Definition: json_syntax_check.cc:87
bool is_valid_json_syntax(const char *text, size_t length, size_t *error_offset, std::string *error_message, const JsonDocumentDepthHandler &depth_handler)
Check if a string is a valid JSON.
Definition: json_syntax_check.cc:62
Define rapidjson::SizeType to be std::size_t.
bool length(const dd::Spatial_reference_system *srs, const Geometry *g1, double *length, bool *null) noexcept
Computes the length of linestrings and multilinestrings.
Definition: length.cc:76
typedef::std::size_t SizeType
Definition: my_rapidjson_size_t.h:39