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

Method getXml

lib_acl_cpp/src/http/HttpServletRequest.cpp:560–591  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

558}
559
560bool HttpServletRequest::getXml(xml& out, size_t body_limit /* 1024000 */)
561{
562 if (request_type_ != HTTP_REQUEST_TEXT_XML) {
563 return false;
564 }
565
566 acl_int64 dlen = (acl_int64) getContentLength();
567 if (dlen <= 0 || dlen > (acl_int64) body_limit) {
568 return false;
569 }
570
571 body_parsed_ = true;
572 istream& in = getInputStream();
573
574 ssize_t n;
575 char buf[8192];
576
577 while (dlen > 0) {
578 n = (ssize_t) sizeof(buf) - 1 > (ssize_t) dlen ?
579 (ssize_t) dlen : (ssize_t) sizeof(buf) - 1;
580 n = in.read(buf, (size_t) n);
581 if (n == -1) {
582 return false;
583 }
584
585 dlen -= n;
586 buf[n] = 0;
587 out.update(buf);
588 }
589
590 return true;
591}
592
593xml* HttpServletRequest::getXml(size_t body_limit /* 1024000 */)
594{

Callers

nothing calls this directly

Calls 2

readMethod · 0.45
updateMethod · 0.45

Tested by

no test coverage detected