diff options
author | default <nobody@localhost> | 2023-04-23 15:37:09 +0200 |
---|---|---|
committer | default <nobody@localhost> | 2023-04-23 15:37:09 +0200 |
commit | 997b17d854db1709686df85fe8dedae0a20ca5fa (patch) | |
tree | 0f8399c1789f47d1138b1a072400b2491911e47a /httpd.c | |
parent | 177bf03e100216a604eda82400c03d006978d2bc (diff) |
Moved JSON output validation to httpd.c.
Diffstat (limited to 'httpd.c')
-rw-r--r-- | httpd.c | 10 |
1 files changed, 10 insertions, 0 deletions
@@ -266,6 +266,16 @@ void httpd_connection(FILE *f) srv_archive("RECV", NULL, req, payload, p_size, status, headers, body, b_size); + /* JSON validation check */ + if (strcmp(ctype, "application/json") == 0) { + xs *j = xs_json_loads(body); + + if (j == NULL) { + srv_log(xs_fmt("bad JSON")); + srv_archive_error("bad_json", "bad JSON", req, body); + } + } + xs_free(body); } |