diff options
| -rw-r--r-- | httpd.c | 10 | ||||
| -rw-r--r-- | mastoapi.c | 8 |
2 files changed, 10 insertions, 8 deletions
| @@ -266,6 +266,16 @@ void httpd_connection(FILE *f) | |||
| 266 | 266 | ||
| 267 | srv_archive("RECV", NULL, req, payload, p_size, status, headers, body, b_size); | 267 | srv_archive("RECV", NULL, req, payload, p_size, status, headers, body, b_size); |
| 268 | 268 | ||
| 269 | /* JSON validation check */ | ||
| 270 | if (strcmp(ctype, "application/json") == 0) { | ||
| 271 | xs *j = xs_json_loads(body); | ||
| 272 | |||
| 273 | if (j == NULL) { | ||
| 274 | srv_log(xs_fmt("bad JSON")); | ||
| 275 | srv_archive_error("bad_json", "bad JSON", req, body); | ||
| 276 | } | ||
| 277 | } | ||
| 278 | |||
| 269 | xs_free(body); | 279 | xs_free(body); |
| 270 | } | 280 | } |
| 271 | 281 | ||
| @@ -900,14 +900,6 @@ int mastoapi_get_handler(const xs_dict *req, const char *q_path, | |||
| 900 | *ctype = "application/json"; | 900 | *ctype = "application/json"; |
| 901 | status = 200; | 901 | status = 200; |
| 902 | 902 | ||
| 903 | { | ||
| 904 | xs *j = xs_json_loads(*body); | ||
| 905 | if (j == NULL) { | ||
| 906 | srv_log(xs_fmt("mastoapi timeline: bad JSON")); | ||
| 907 | srv_archive_error("mastoapi_timeline", "bad JSON", req, *body); | ||
| 908 | } | ||
| 909 | } | ||
| 910 | |||
| 911 | srv_debug(2, xs_fmt("mastoapi timeline: returned %d entries", xs_list_len(out))); | 903 | srv_debug(2, xs_fmt("mastoapi timeline: returned %d entries", xs_list_len(out))); |
| 912 | } | 904 | } |
| 913 | else { | 905 | else { |