예제 #1
0
bool KVParser::parseKeyValueContent(Cursor& cursor,
                                    size_t& available,
                                    size_t& length,
                                    IOBufQueue& queue) {
  std::unique_ptr<IOBuf> buf;
  size_t len = cursor.cloneAtMost(buf, length);
  queue.append(std::move(buf));
  assert(length >= len);
  length -= len;
  assert(available >= len);
  available -= len;
  return (length == 0);
}
예제 #2
0
void FastCGISession::parseGetValues(Cursor& cursor, size_t& available) {
  std::unique_ptr<IOBuf> chain;
  size_t length = cursor.cloneAtMost(chain, m_contentLeft);
  available -= length;
  handleGetValues(std::move(chain));
}