MCPcopy Create free account
hub / github.com/acl-dev/acl / getJson

Method getJson

lib_acl_cpp/src/http/HttpServletRequest.cpp:505–536  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

503}
504
505bool HttpServletRequest::getJson(json& out, size_t body_limit /* 1024000 */)
506{
507 if (request_type_ != HTTP_REQUEST_TEXT_JSON) {
508 return false;
509 }
510
511 acl_int64 dlen = (acl_int64) getContentLength();
512 if (dlen <= 0 || dlen > (acl_int64) body_limit) {
513 return false;
514 }
515
516 body_parsed_ = true;
517 istream& in = getInputStream();
518
519 ssize_t n;
520 char buf[8192];
521
522 while (dlen > 0) {
523 n = (ssize_t) sizeof(buf) - 1 > (ssize_t) dlen ?
524 (ssize_t) dlen : (ssize_t) sizeof(buf) - 1;
525 n = in.read(buf, (size_t) n);
526 if (n == -1) {
527 return false;
528 }
529
530 dlen -= n;
531 buf[n] = 0;
532 out.update(buf);
533 }
534
535 return true;
536}
537
538json* HttpServletRequest::getJson(size_t body_limit /* 1024000 */)
539{

Callers 3

get_jsonMethod · 0.80
http_post_jsonFunction · 0.80
on_helloMethod · 0.80

Calls 2

readMethod · 0.45
updateMethod · 0.45

Tested by

no test coverage detected