Back Midas Rome Roody Rootana
  Midas DAQ System  Not logged in ELOG logo
Entry  05 Apr 2013, Konstantin Olchanski, Info, ODB JSON support 
    Reply  10 May 2013, Konstantin Olchanski, Info, mhttpd JSON support 
       Reply  17 May 2013, Konstantin Olchanski, Info, mhttpd JSON-P support 
          Reply  31 May 2013, Konstantin Olchanski, Info, mhttpd JSON-P support 
    Reply  27 Sep 2013, Konstantin Olchanski, Info, ODB JSON support 
       Reply  09 Oct 2013, Konstantin Olchanski, Info, ODB JSON support 
          Reply  17 Mar 2014, Konstantin Olchanski, Info, ODB JSON support 
             Reply  12 Apr 2022, Konstantin Olchanski, Info, ODB JSON support 
                Reply  13 Apr 2022, Stefan Ritt, Info, ODB JSON support 
                   Reply  13 Apr 2022, Konstantin Olchanski, Info, ODB JSON support 
Message ID: 888     Entry time: 17 May 2013     In reply to: 886     Reply to this: 889
Author: Konstantin Olchanski 
Topic: Info 
Subject: mhttpd JSON-P support 
> 
> Added JSON encoding format to Javascript ODBCopy(path,format) ("jcopy"). Use format="json", Javascript example updated with an example example.
> 

More ODBCopy() expansion: format="json-p" returns data suitable for JSON-P ("script tag") messaging.

Also implemented multiple-paths for "jcopy" (similar to "jget"/ODBMGet()). An example ODBMCopy(paths,callback,format) is present in example.html (will move to mhttpd.js).

Added JSON encoding options:
- format="json-nokeys" will omit all KEY information except for "last_written"
- "json-nokeys-nolastwritten" will also omit "last_written"
- "json-nofollowlinks" will return ODB symlink KEYs instead of following them (ODBGet/ODBMGet always follows symlinks)
- "json-p" adds JSON-P encapsulation
All these JSON format options can be used at the same time, i.e. format="json-p-nofollowlinks"

To see how it all works, please look at examples/javascript1/example.html.

The new code seems to be functional enough, but it is still work in progress and there are a few problems:
- ODBMCopy() using the "xml" format returns gibberish (the MIDAS XML encoder has to be told to omit the <?xml> header)
- example.html does not actually parse any of the XML data, so we do not know if XML encoding is okey
- JSON encoding has an extra layer of objects (variables.Variables.foo instead of variables.foo)
- ODBRpc() with JSON/JSON-P encoding not done yet.

mhttpd.cxx, example.html
svn rev 5364
K.O.
ELOG V3.1.4-2e1708b5