void Responder::readRequest(Request& request, Reply& reply, System::EventLoop& loop) { onReadRequest(request, reply, loop); // ignore everything the responder didn't consume std::streambuf* sb = request.body().rdbuf(); if(sb) { // cannot use std::streambuf::ignore, because on some implementations // undeflow will be called when the last character is extracted std::streamsize n = sb->in_avail(); while(n--) sb->sbumpc(); } }
void onForwardRequest() { mSrcSocket->readSome([this](bool eof, const char *buf, int n){ onReadRequest(eof, buf, n); }); }