Details
-
Type: Improvement
-
Status: Open
-
Priority: Major
-
Resolution: Unresolved
-
Affects Version/s: 1.3 Final
-
Fix Version/s: None
-
Component/s: BridgeIt
-
Labels:None
-
Environment:BridgeIt/ICEmobile-SX, jQuery Mobile or other 3rd party JavaScript
Description
The current BridgeIt response makes use of nested url-encoded parameters. This is fairly efficient but is somewhat complex and recent integration with jQuery Mobile showed conflicts due to the fact that parts of the response are parsed by jQuery Mobile. To prevent this, the url-encoded data can now be wrapped in a base64 encoding. This reduces efficiency and slightly increases the complexity of the implementation.
Since the base64 variant is necessary in some cases, the most straightforward approach would be to use it in all cases and work with a simplified underlying payload that relies on base64. This means that a binary format can be used.
Since the base64 variant is necessary in some cases, the most straightforward approach would be to use it in all cases and work with a simplified underlying payload that relies on base64. This means that a binary format can be used.
Activity
Ted Goddard
created issue -
Ted Goddard
made changes -
Field | Original Value | New Value |
---|---|---|
Assignee | Steve Maryka [ steve.maryka ] | Ted Goddard [ ted.goddard ] |
Ken Fyten
made changes -
Component/s | BridgeIt [ 10870 ] | |
Component/s | Containers [ 10064 ] |
A simple name/value binary format will allow strings and images to be included directly in the payload via a sequence of:
[name][null][int32 length][value]
Nested values would not be directly supported (although a given value could be XML or JSON with no escaping) but the name would support a path /-separated structure that could be mapped directly onto a JavaScript object. A marker value would indicate that the associated value should be, say, encoded as base64 with a mime-type prefix.
name = <binary data>
name/_fix = "png64"
Where a collection of named "fix" rules would be supported by BridgeIt. "png64" would encode the binary data as base64 and prepend with "data:image/png;base64,". Various rules could be defined for other data types.