diff options
author | jsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68> | 2010-12-24 02:54:39 +0000 |
---|---|---|
committer | jsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68> | 2010-12-24 02:54:39 +0000 |
commit | 74aef8947b7b72eca797a2f55d39997cc7af9c25 (patch) | |
tree | 60992d5a27fb7d10e2e6b280cad4dfde9256c043 /sca-cpp/trunk/modules/atom/atom.hpp | |
parent | e5f662ac57fa2c54882245e1c568e0982abab4fb (diff) |
Fix roundtripping of JSON arrays, booleans and numbers, ATOM / RSS feed detection, and support REST-style JSON and XML payloads in server handler and client proxy.
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1052432 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sca-cpp/trunk/modules/atom/atom.hpp')
-rw-r--r-- | sca-cpp/trunk/modules/atom/atom.hpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/sca-cpp/trunk/modules/atom/atom.hpp b/sca-cpp/trunk/modules/atom/atom.hpp index bb39e7c262..253be9bdd6 100644 --- a/sca-cpp/trunk/modules/atom/atom.hpp +++ b/sca-cpp/trunk/modules/atom/atom.hpp @@ -57,12 +57,12 @@ const list<value> entriesElementsToValues(const list<value>& e) { } /** - * Return true if a list of strings contains an RSS feed. + * Return true if a list of strings contains an ATOM feed. */ const bool isATOMFeed(const list<string>& ls) { if (!isXML(ls)) return false; - return contains(car(ls), "<feed"); + return contains(car(ls), "<feed") && contains(car(ls), "=\"http://www.w3.org/2005/Atom\""); } /** @@ -179,7 +179,9 @@ const failable<list<string> > writeATOMFeed(const list<value>& l) { * Convert an ATOM entry containing a value to an ATOM entry containing an item element. */ const list<value> entryValuesToElements(const list<value> val) { - return cons(car(val), cons(cadr(val), valuesToElements(mklist<value>(cons<value>("item", (list<value>)caddr(val)))))); + if (isList(caddr(val))) + return cons(car(val), cons(cadr(val), valuesToElements(mklist<value>(cons<value>("item", (list<value>)caddr(val)))))); + return cons(car(val), cons(cadr(val), valuesToElements(mklist<value>(mklist<value>("item", caddr(val)))))); } /** |