/* * This function only creates one type of message for this demo. * - To do that the first argument is 1, e.g., index for the type of message to create. * - The body may be an empty string. * - EndPoints are strings of the form ip:port, e.g., localhost:8081. This argument * expects the receiver EndPoint for the toAddr attribute. */ HttpMessage MsgClient::makeMessage(size_t n, const std::string& body, const EndPoint& ep) { HttpMessage msg; HttpMessage::Attribute attrib; EndPoint myEndPoint = "localhost:8081"; // ToDo: make this a member of the sender // given to its constructor. switch (n) { case 1: msg.clear(); msg.addAttribute(HttpMessage::attribute("POST", "Message")); msg.addAttribute(HttpMessage::Attribute("mode", "oneway")); msg.addAttribute(HttpMessage::parseAttribute("toAddr:" + ep)); msg.addAttribute(HttpMessage::parseAttribute("fromAddr:" + myEndPoint)); msg.addBody(body); if (body.size() > 0) { attrib = HttpMessage::attribute("content-length", Converter<size_t>::toString(body.size())); msg.addAttribute(attrib); } break; default: msg.clear(); msg.addAttribute(HttpMessage::attribute("Error", "unknown message type")); } return msg; }