snac2

Fork of https://codeberg.org/grunfink/snac2
git clone https://git.inz.fi/snac2
Log | Files | Refs | README | LICENSE

commit 997b17d854db1709686df85fe8dedae0a20ca5fa
parent 177bf03e100216a604eda82400c03d006978d2bc
Author: default <nobody@localhost>
Date:   Sun, 23 Apr 2023 15:37:09 +0200

Moved JSON output validation to httpd.c.

Diffstat:
Mhttpd.c | 10++++++++++
Mmastoapi.c | 8--------
2 files changed, 10 insertions(+), 8 deletions(-)

diff --git a/httpd.c b/httpd.c @@ -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); } diff --git a/mastoapi.c b/mastoapi.c @@ -900,14 +900,6 @@ int mastoapi_get_handler(const xs_dict *req, const char *q_path, *ctype = "application/json"; status = 200; - { - xs *j = xs_json_loads(*body); - if (j == NULL) { - srv_log(xs_fmt("mastoapi timeline: bad JSON")); - srv_archive_error("mastoapi_timeline", "bad JSON", req, *body); - } - } - srv_debug(2, xs_fmt("mastoapi timeline: returned %d entries", xs_list_len(out))); } else {