std::string requestToString(const Request &request) { TRACE(std::cout, ""); std::string retVal("{\n"); if (request.has_header()) { retVal.append("Header: {"); if (request.header().has_type()) { retVal.append("type: ") .append(string_utils::toString<int>(request.header().type())); } if (request.header().has_trace()) { retVal.append("trace: ").append(request.header().trace()); } retVal.append("}\n"); } if (request.has_payload()) { retVal.append("Payload: {"); if (request.payload().has_key()) { Id id; id.ParseFromString(request.payload().key()); retVal.append(idToString(id)); } if (request.payload().has_value()) { Person person; person.ParseFromString(request.payload().value()); retVal.append(personToString(person)); } retVal.append("}\n"); } retVal.append("}"); return retVal; }