소스 검색

2009-05-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>

	Refactored.
	* src/XmlRpcMethod.cc
Tatsuhiro Tsujikawa 16 년 전
부모
커밋
e332ef3e1c
2개의 변경된 파일15개의 추가작업 그리고 22개의 파일을 삭제
  1. 5 0
      ChangeLog
  2. 10 22
      src/XmlRpcResponse.cc

+ 5 - 0
ChangeLog

@@ -1,3 +1,8 @@
+2009-05-14  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
+
+	Refactored.
+	* src/XmlRpcMethod.cc
+
 2009-05-14  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
 
 	Added XmlRpcResponse class. XmlRpcMethod::execute() now returns

+ 10 - 22
src/XmlRpcResponse.cc

@@ -100,33 +100,21 @@ static void encodeValue(const BDE& value, std::ostream& o)
   o << "</value>";
 }
 
-static std::string encodeXml(const BDE& param)
-{
-  std::stringstream o;
-  o << "<?xml version=\"1.0\"?>" << "<methodResponse>"
-    << "<params>" << "<param>";
-  encodeValue(param, o);
-  o << "</param>" << "</params>" << "</methodResponse>";
-  return o.str();
-}
-
-static std::string encodeErrorXml(const BDE& faultValue)
-{
-  assert(faultValue.isDict());
-  std::stringstream o;
-  o << "<?xml version=\"1.0\"?>" << "<methodResponse>" << "<fault>";
-  encodeValue(faultValue, o);
-  o << "</fault>" << "</methodResponse>";
-  return o.str();
-}
-
 std::string XmlRpcResponse::toXml() const
 {
+  std::stringstream o;
+  o << "<?xml version=\"1.0\"?>" << "<methodResponse>";
   if(_code == 0) {
-    return encodeXml(_param);
+    o << "<params>" << "<param>";
+    encodeValue(_param, o);
+    o << "</param>" << "</params>";
   } else {
-    return encodeErrorXml(_param);
+    o << "<fault>";
+    encodeValue(_param, o);
+    o << "</fault>";
   }
+  o << "</methodResponse>";
+  return o.str();
 }
 
 } // namespace xmlrpc