Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "RAP/Protocol"
m (→Introduction) |
(→Protocol Format) |
||
Line 11: | Line 11: | ||
== Protocol Format == | == Protocol Format == | ||
+ | The protocol is based on the JSON fromat as described here: | ||
+ | [ http://www.json.org/ ] | ||
+ | |||
+ | === Message === | ||
+ | <source lang="javascript"> | ||
+ | { | ||
+ | "meta" : MetaObject, | ||
+ | "operations" : [ (OperationObject)* ] | ||
+ | } | ||
+ | </source> | ||
+ | |||
+ | There is one message per request and one per response. (May differ while in development.) | ||
+ | |||
+ | === MetaObject === | ||
+ | <source lang="javascript"> | ||
+ | { | ||
+ | "requestCounter" : int | ||
+ | } | ||
+ | </source> | ||
+ | |||
+ | === OperationObject === | ||
+ | |||
+ | TODO | ||
== Data Type Reference == | == Data Type Reference == |
Revision as of 07:01, 29 August 2011
Contents
Introduction
The RAP Protocol is the JSON-based format used within the HTTP-Requests from a RAP-client to a RAP-server. Compared with the previously used JavaScript and HTTP-fields based communication is will provide a number of advantages:
- It allowes to move all client-specific code from the server to the client.
- It produces human readable messages, easing debugging.
- It allowes the client to create more informative error messages.
- It allowes to replace either ends as long as they process and create valid RAP-protocol messages.
The protocol is currently beeing developed in CVS HEAD. While not fully implemented, the communication will be mixed between old and new format, e.g. JavaScript-code with embedded JSON-objects. We expect to fully switch to the new format (at least the client-to-server direction) with the 1.5 release.
Protocol Format
The protocol is based on the JSON fromat as described here: [ http://www.json.org/ ]
Message
{ "meta" : MetaObject, "operations" : [ (OperationObject)* ] }
There is one message per request and one per response. (May differ while in development.)
MetaObject
{ "requestCounter" : int }
OperationObject
TODO