logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

#include <bson/bson-types.h>

Author

       MongoDB, Inc

Description

bson_validate_flags_t  is a set of binary flags which may be combined to specify a level of BSON document
       validation.

       A value of 0, false,  or  BSON_VALIDATE_NONE  equivalently  requests  the  minimum  applicable  level  of
       validation.

       In    the    context    of    validation    APIs    bson_validate(),    bson_validate_with_error(),   and
       bson_validate_with_error_and_offset() the minimum validation still guarantees  that  a  document  can  be
       successfully traversed by bson_iter_visit_all().

       Higher  level  APIs  using this type may have different minimum validation levels. For example, libmongoc
       functions that take bson_validate_flags_t use 0 to  mean  the  document  contents  are  not  visited  and
       malformed headers will not be detected by the client.

       Each  defined  flag  aside  from  BSON_VALIDATE_NONE describes an optional validation feature that may be
       enabled, alone or in combination with other features:

       • BSON_VALIDATE_NONE Minimum level of validation; in libbson, validates element headers.

       • BSON_VALIDATE_UTF8 All keys and string values are checked for invalid UTF-8.

       • BSON_VALIDATE_UTF8_ALLOW_NULL String values are allowed to have embedded NULL bytes.

       • BSON_VALIDATE_DOLLAR_KEYS Prohibit keys that start with $ outside of a "DBRef" subdocument.

       • BSON_VALIDATE_DOT_KEYS Prohibit keys that contain . anywhere in the string.

       • BSON_VALIDATE_EMPTY_KEYS Prohibit zero-length keys.

       SEEALSO:bson_validate(), bson_validate_with_error(), bson_validate_with_error_and_offset().

          bson_visitor_t can be used for custom validation, ExampleCustomValidation.

Synopsis

          #include <bson/bson-types.h>

          typedef enum {
            BSON_VALIDATE_NONE = 0,
            BSON_VALIDATE_UTF8 = (1 << 0),
            BSON_VALIDATE_DOLLAR_KEYS = (1 << 1),
            BSON_VALIDATE_DOT_KEYS = (1 << 2),
            BSON_VALIDATE_UTF8_ALLOW_NULL = (1 << 3),
            BSON_VALIDATE_EMPTY_KEYS = (1 << 4),
          } bson_validate_flags_t;

See Also