uint64_t u64
Definition basictypes.h:18
u32 b32
Definition basictypes.h:39
int64_t i64
Definition basictypes.h:30
double f64
Definition basictypes.h:36
char cstr
Definition basictypes.h:55
h2o_iovec_t h2o_string
Definition string.h:22
h2o_string h2o_string_slice
Definition string.h:25
h2o_string * h2o_json_write_pretty(h2o_mem_pool_t *pool, h2o_json_node_t *node, u64 indent)
Definition json.c:1592
h2o_json_node_t * h2o_json_parse_from_lazy_slice(h2o_mem_pool_t *pool, h2o_string_slice slice)
Definition json.c:1277
h2o_json_node_t * h2o_json_parse(h2o_mem_pool_t *pool, const h2o_string *json_body)
Definition json.c:1004
enum h2o_json_write_options h2o_json_write_options_t
enum h2o_json_parse_method h2o_json_parse_method_t
h2o_json_node_t * h2o_json_new_object(h2o_mem_pool_t *pool)
Definition json.c:1508
b32 h2o_json_get_bool(h2o_json_node_t *node)
Definition json.c:1361
void h2o_json_clear_error(void)
Definition json.c:998
b32 h2o_json_is_object(h2o_json_node_t *node)
Definition json.c:1353
b32 h2o_json_is_null(h2o_json_node_t *node)
Definition json.c:1329
b32 h2o_json_array_push(h2o_mem_pool_t *pool, h2o_json_node_t *arr, h2o_json_node_t *val)
Definition json.c:1526
b32 h2o_json_is_integer(h2o_json_node_t *node)
Definition json.c:1337
h2o_json_type
Definition json.h:23
@ H2O_JSON_INVALID
Definition json.h:31
@ H2O_JSON_FLOAT
Definition json.h:26
@ H2O_JSON_BOOL
Definition json.h:25
@ H2O_JSON_NULL
Definition json.h:24
@ H2O_JSON_ARRAY
Definition json.h:29
@ H2O_JSON_STRING
Definition json.h:28
@ H2O_JSON_OBJECT
Definition json.h:30
@ H2O_JSON_INTEGER
Definition json.h:27
h2o_string * h2o_json_write(h2o_mem_pool_t *pool, h2o_json_node_t *node, h2o_json_write_options_t options, u64 indent)
Definition json.c:1568
h2o_json_write_options
Definition json.h:142
@ H2O_JSON_WRITE_COMPACT
Definition json.h:146
@ H2O_JSON_WRITE_PRETTY
Definition json.h:144
@ H2O_JSON_WRITE_DEFAULT
Definition json.h:143
@ H2O_JSON_WRITE_SORT_KEYS
Definition json.h:145
struct h2o_json_node h2o_json_node_t
b32 h2o_json_array_set(h2o_mem_pool_t *pool, h2o_json_node_t *arr, h2o_json_node_t *val, u64 idx)
Definition json.c:1538
f64 h2o_json_get_float(h2o_json_node_t *node)
Definition json.c:1373
h2o_json_node_t * h2o_json_new_string_slice(h2o_mem_pool_t *pool, h2o_string_slice val)
Definition json.c:1474
b32 h2o_json_is_bool(h2o_json_node_t *node)
Definition json.c:1333
h2o_json_node_t * h2o_json_parse_from_slice(h2o_mem_pool_t *pool, const h2o_string_slice slice)
Definition json.c:1010
u64 h2o_json_get_array_count(h2o_json_node_t *node)
Definition json.c:1385
struct h2o_json_error h2o_json_error_t
h2o_json_error_t * h2o_json_get_error(h2o_mem_pool_t *pool)
Definition json.c:989
h2o_json_node_t * h2o_json_path_get_slice(h2o_mem_pool_t *pool, const h2o_string_slice json_slice, const h2o_string_slice path)
Definition json.c:1175
i64 h2o_json_get_integer(h2o_json_node_t *node)
Definition json.c:1367
h2o_json_node_t * h2o_json_new_array(h2o_mem_pool_t *pool)
Definition json.c:1494
h2o_json_node_t * h2o_json_new_null(h2o_mem_pool_t *pool)
Definition json.c:1399
h2o_string_slice h2o_json_get_string(h2o_json_node_t *node)
Definition json.c:1379
b32 h2o_json_is_float(h2o_json_node_t *node)
Definition json.c:1341
enum h2o_json_type h2o_json_type_t
h2o_json_node_t * h2o_json_new_bool(h2o_mem_pool_t *pool, b32 val)
Definition json.c:1412
h2o_json_node_t * h2o_json_get_object(h2o_mem_pool_t *pool, h2o_json_node_t *obj, h2o_string *key)
Definition json.c:1135
b32 h2o_json_is_array(h2o_json_node_t *node)
Definition json.c:1349
b32 h2o_json_obj_set(h2o_mem_pool_t *pool, h2o_json_node_t *obj, h2o_string *key, h2o_json_node_t *val)
Definition json.c:1553
b32 h2o_json_is_valid(h2o_json_node_t *node)
Definition json.c:1325
h2o_json_node_t * h2o_json_get_array(h2o_mem_pool_t *pool, h2o_json_node_t *arr, u64 idx)
Definition json.c:1142
h2o_json_node_t * h2o_json_new_float(h2o_mem_pool_t *pool, f64 val)
Definition json.c:1447
h2o_json_parse_method
Definition json.h:34
@ H2O_JSON_PARSE_LAZY
Definition json.h:36
@ H2O_JSON_PARSE_FULL
Definition json.h:35
h2o_json_node_t * h2o_json_new_integer(h2o_mem_pool_t *pool, i64 val)
Definition json.c:1426
h2o_json_node_t * h2o_json_path_get(h2o_mem_pool_t *pool, const h2o_string *json_string, const h2o_string *path)
Definition json.c:1166
h2o_json_node_t * h2o_json_get_object_slice(h2o_mem_pool_t *pool, h2o_json_node_t *obj, h2o_string_slice slice)
Definition json.c:1055
h2o_json_node_t * h2o_json_new_string(h2o_mem_pool_t *pool, h2o_string *val)
Definition json.c:1468
b32 h2o_json_is_string(h2o_json_node_t *node)
Definition json.c:1345
cstr * msg
Definition json.h:187
u64 pos
Definition json.h:188
b32 has_error
Definition json.h:186
struct h2o_json_node::@0::@5::@7 full
h2o_string_slice slice
Definition json.h:41
h2o_json_type_t type
Definition json.h:40
h2o_stringmap_t * nodes
Definition json.h:74
struct h2o_json_node::@0::@2 int_data
struct h2o_json_node ** items
Definition json.h:62
b32 bool_val
Definition json.h:45
struct h2o_json_node::@0::@6 object_data
struct h2o_json_node::@0::@3 float_data
b32 is_lazy
Definition json.h:68
i64 int_val
Definition json.h:49
h2o_stringmap_t * lazy_poses
Definition json.h:77
u64 * poses
Definition json.h:65
union h2o_json_node::@0 data
struct h2o_json_node::@0::@5::@8 lazy
struct h2o_json_node::@0::@1 bool_data
h2o_stringmap_t * keys
Definition json.h:72
h2o_string_slice str_val
Definition json.h:57
f64 float_val
Definition json.h:53
struct h2o_json_node::@0::@4 str_data
u64 count
Definition json.h:66
struct h2o_json_node::@0::@5 array_data
A stringmap.
Definition stringmap.h:68