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:
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 {