diff options
| author | 2023-04-23 15:37:09 +0200 | |
|---|---|---|
| committer | 2023-04-23 15:37:09 +0200 | |
| commit | 997b17d854db1709686df85fe8dedae0a20ca5fa (patch) | |
| tree | 0f8399c1789f47d1138b1a072400b2491911e47a /httpd.c | |
| parent | Fixed bad JSON for accounts that do not have a 'summary' field. (diff) | |
| download | snac2-997b17d854db1709686df85fe8dedae0a20ca5fa.tar.gz snac2-997b17d854db1709686df85fe8dedae0a20ca5fa.tar.xz snac2-997b17d854db1709686df85fe8dedae0a20ca5fa.zip | |
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) | |||
| 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 | ||