rhosync 2.0.0.beta1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (200) hide show
  1. data/CHANGELOG +5 -0
  2. data/LICENSE +674 -0
  3. data/README.md +26 -0
  4. data/Rakefile +109 -0
  5. data/bench/bench +6 -0
  6. data/bench/benchapp/Rakefile +14 -0
  7. data/bench/benchapp/application.rb +13 -0
  8. data/bench/benchapp/config.ru +32 -0
  9. data/bench/benchapp/settings/license.key +1 -0
  10. data/bench/benchapp/settings/settings.yml +18 -0
  11. data/bench/benchapp/sources/mock_adapter.rb +55 -0
  12. data/bench/benchapp/sources/queue_mock_adapter.rb +2 -0
  13. data/bench/benchapp/vendor/rhosync/lib/rhosync.rb +7 -0
  14. data/bench/lib/bench/cli.rb +16 -0
  15. data/bench/lib/bench/logging.rb +18 -0
  16. data/bench/lib/bench/mock_client.rb +41 -0
  17. data/bench/lib/bench/result.rb +50 -0
  18. data/bench/lib/bench/runner.rb +44 -0
  19. data/bench/lib/bench/session.rb +65 -0
  20. data/bench/lib/bench/statistics.rb +56 -0
  21. data/bench/lib/bench/test_data.rb +55 -0
  22. data/bench/lib/bench/timer.rb +10 -0
  23. data/bench/lib/bench/utils.rb +49 -0
  24. data/bench/lib/bench.rb +128 -0
  25. data/bench/lib/testdata/100-data.txt +148 -0
  26. data/bench/lib/testdata/5-data.txt +11 -0
  27. data/bench/scripts/cud_script.rb +77 -0
  28. data/bench/scripts/helpers.rb +101 -0
  29. data/bench/scripts/query_md_script.rb +46 -0
  30. data/bench/scripts/query_script.rb +46 -0
  31. data/bench/spec/bench_spec_helper.rb +65 -0
  32. data/bench/spec/logging_spec.rb +19 -0
  33. data/bench/spec/mock_adapter_spec.rb +61 -0
  34. data/bench/spec/mock_client_spec.rb +64 -0
  35. data/bench/spec/result_spec.rb +59 -0
  36. data/bench/spec/utils_spec.rb +35 -0
  37. data/bin/rhosync +34 -0
  38. data/doc/protocol.html +1901 -0
  39. data/doc/public/css/print.css +29 -0
  40. data/doc/public/css/screen.css +257 -0
  41. data/doc/public/css/style.css +20 -0
  42. data/examples/simple/application.rb +13 -0
  43. data/examples/simple/sources/sample_adapter.rb +5 -0
  44. data/examples/simple/sources/simple_adapter.rb +5 -0
  45. data/examples/simple/vendor/rhosync/lib/rhosync.rb +7 -0
  46. data/generators/rhosync.rb +98 -0
  47. data/generators/templates/application/Rakefile +19 -0
  48. data/generators/templates/application/application.rb +27 -0
  49. data/generators/templates/application/config.ru +33 -0
  50. data/generators/templates/application/settings/license.key +1 -0
  51. data/generators/templates/application/settings/settings.yml +14 -0
  52. data/generators/templates/source/source_adapter.rb +49 -0
  53. data/lib/rhosync/api/create_client.rb +3 -0
  54. data/lib/rhosync/api/create_user.rb +7 -0
  55. data/lib/rhosync/api/delete_client.rb +5 -0
  56. data/lib/rhosync/api/delete_user.rb +5 -0
  57. data/lib/rhosync/api/get_api_token.rb +7 -0
  58. data/lib/rhosync/api/get_client_params.rb +3 -0
  59. data/lib/rhosync/api/get_db_doc.rb +7 -0
  60. data/lib/rhosync/api/get_license_info.rb +7 -0
  61. data/lib/rhosync/api/get_source_params.rb +3 -0
  62. data/lib/rhosync/api/list_client_docs.rb +12 -0
  63. data/lib/rhosync/api/list_clients.rb +3 -0
  64. data/lib/rhosync/api/list_source_docs.rb +10 -0
  65. data/lib/rhosync/api/list_sources.rb +15 -0
  66. data/lib/rhosync/api/list_users.rb +3 -0
  67. data/lib/rhosync/api/ping.rb +7 -0
  68. data/lib/rhosync/api/push_deletes.rb +6 -0
  69. data/lib/rhosync/api/push_objects.rb +6 -0
  70. data/lib/rhosync/api/reset.rb +10 -0
  71. data/lib/rhosync/api/set_db_doc.rb +8 -0
  72. data/lib/rhosync/api/set_refresh_time.rb +8 -0
  73. data/lib/rhosync/api/update_user.rb +4 -0
  74. data/lib/rhosync/api/upload_file.rb +4 -0
  75. data/lib/rhosync/api_token.rb +19 -0
  76. data/lib/rhosync/app.rb +69 -0
  77. data/lib/rhosync/bulk_data/bulk_data.rb +75 -0
  78. data/lib/rhosync/bulk_data/syncdb.index.schema +3 -0
  79. data/lib/rhosync/bulk_data/syncdb.schema +37 -0
  80. data/lib/rhosync/bulk_data.rb +2 -0
  81. data/lib/rhosync/client.rb +74 -0
  82. data/lib/rhosync/client_sync.rb +296 -0
  83. data/lib/rhosync/console/app/helpers/auth_helper.rb +18 -0
  84. data/lib/rhosync/console/app/helpers/extensions.rb +19 -0
  85. data/lib/rhosync/console/app/helpers/helpers.rb +52 -0
  86. data/lib/rhosync/console/app/public/main.css +7 -0
  87. data/lib/rhosync/console/app/public/text.txt +0 -0
  88. data/lib/rhosync/console/app/routes/auth.rb +29 -0
  89. data/lib/rhosync/console/app/routes/client.rb +32 -0
  90. data/lib/rhosync/console/app/routes/docs.rb +84 -0
  91. data/lib/rhosync/console/app/routes/home.rb +22 -0
  92. data/lib/rhosync/console/app/routes/user.rb +63 -0
  93. data/lib/rhosync/console/app/views/client.erb +30 -0
  94. data/lib/rhosync/console/app/views/doc.erb +56 -0
  95. data/lib/rhosync/console/app/views/docs.erb +29 -0
  96. data/lib/rhosync/console/app/views/index.erb +50 -0
  97. data/lib/rhosync/console/app/views/layout.erb +12 -0
  98. data/lib/rhosync/console/app/views/newuser.erb +17 -0
  99. data/lib/rhosync/console/app/views/ping.erb +28 -0
  100. data/lib/rhosync/console/app/views/result.erb +11 -0
  101. data/lib/rhosync/console/app/views/user.erb +32 -0
  102. data/lib/rhosync/console/app/views/users.erb +14 -0
  103. data/lib/rhosync/console/rhosync_api.rb +102 -0
  104. data/lib/rhosync/console/server.rb +27 -0
  105. data/lib/rhosync/credential.rb +9 -0
  106. data/lib/rhosync/document.rb +43 -0
  107. data/lib/rhosync/indifferent_access.rb +132 -0
  108. data/lib/rhosync/jobs/bulk_data_job.rb +104 -0
  109. data/lib/rhosync/jobs/ping_job.rb +19 -0
  110. data/lib/rhosync/jobs/source_job.rb +16 -0
  111. data/lib/rhosync/license.rb +79 -0
  112. data/lib/rhosync/lock_ops.rb +11 -0
  113. data/lib/rhosync/model.rb +410 -0
  114. data/lib/rhosync/ping/blackberry.rb +55 -0
  115. data/lib/rhosync/ping/iphone.rb +44 -0
  116. data/lib/rhosync/ping.rb +2 -0
  117. data/lib/rhosync/read_state.rb +27 -0
  118. data/lib/rhosync/server/views/index.erb +12 -0
  119. data/lib/rhosync/server.rb +242 -0
  120. data/lib/rhosync/source.rb +112 -0
  121. data/lib/rhosync/source_adapter.rb +95 -0
  122. data/lib/rhosync/source_sync.rb +245 -0
  123. data/lib/rhosync/store.rb +199 -0
  124. data/lib/rhosync/tasks.rb +151 -0
  125. data/lib/rhosync/user.rb +83 -0
  126. data/lib/rhosync/version.rb +3 -0
  127. data/lib/rhosync.rb +251 -0
  128. data/spec/api/api_helper.rb +44 -0
  129. data/spec/api/create_client_spec.rb +13 -0
  130. data/spec/api/create_user_spec.rb +16 -0
  131. data/spec/api/delete_client_spec.rb +13 -0
  132. data/spec/api/delete_user_spec.rb +18 -0
  133. data/spec/api/get_api_token_spec.rb +25 -0
  134. data/spec/api/get_client_params_spec.rb +18 -0
  135. data/spec/api/get_db_doc_spec.rb +21 -0
  136. data/spec/api/get_license_info_spec.rb +16 -0
  137. data/spec/api/get_source_params_spec.rb +26 -0
  138. data/spec/api/list_client_docs_spec.rb +33 -0
  139. data/spec/api/list_clients_spec.rb +23 -0
  140. data/spec/api/list_source_docs_spec.rb +26 -0
  141. data/spec/api/list_sources_spec.rb +27 -0
  142. data/spec/api/list_users_spec.rb +21 -0
  143. data/spec/api/ping_spec.rb +24 -0
  144. data/spec/api/push_deletes_spec.rb +16 -0
  145. data/spec/api/push_objects_spec.rb +27 -0
  146. data/spec/api/reset_spec.rb +22 -0
  147. data/spec/api/set_db_doc_spec.rb +20 -0
  148. data/spec/api/set_refresh_time_spec.rb +43 -0
  149. data/spec/api/update_user_spec.rb +31 -0
  150. data/spec/api/upload_file_spec.rb +26 -0
  151. data/spec/api_token_spec.rb +13 -0
  152. data/spec/app_spec.rb +20 -0
  153. data/spec/apps/rhotestapp/Rakefile +1 -0
  154. data/spec/apps/rhotestapp/application.rb +16 -0
  155. data/spec/apps/rhotestapp/config.ru +1 -0
  156. data/spec/apps/rhotestapp/settings/apple_fake_cert.pem +1 -0
  157. data/spec/apps/rhotestapp/settings/license.key +1 -0
  158. data/spec/apps/rhotestapp/settings/settings.yml +23 -0
  159. data/spec/apps/rhotestapp/sources/base_adapter.rb +9 -0
  160. data/spec/apps/rhotestapp/sources/sample_adapter.rb +66 -0
  161. data/spec/apps/rhotestapp/sources/simple_adapter.rb +39 -0
  162. data/spec/apps/rhotestapp/sources/sub_adapter.rb +7 -0
  163. data/spec/apps/rhotestapp/vendor/mygem-0.1.0/lib/mygem/mygem.rb +8 -0
  164. data/spec/apps/rhotestapp/vendor/mygem-0.1.0/lib/mygem.rb +1 -0
  165. data/spec/bulk_data/bulk_data_spec.rb +79 -0
  166. data/spec/client_spec.rb +58 -0
  167. data/spec/client_sync_spec.rb +377 -0
  168. data/spec/doc/base.html +72 -0
  169. data/spec/doc/doc_spec.rb +303 -0
  170. data/spec/doc/footer.html +4 -0
  171. data/spec/doc/header.html +30 -0
  172. data/spec/document_spec.rb +27 -0
  173. data/spec/generator/generator_spec.rb +53 -0
  174. data/spec/generator/generator_spec_helper.rb +8 -0
  175. data/spec/jobs/bulk_data_job_spec.rb +76 -0
  176. data/spec/jobs/ping_job_spec.rb +26 -0
  177. data/spec/jobs/source_job_spec.rb +25 -0
  178. data/spec/license_spec.rb +48 -0
  179. data/spec/model_spec.rb +269 -0
  180. data/spec/perf/bulk_data_perf_spec.rb +33 -0
  181. data/spec/perf/perf_spec_helper.rb +51 -0
  182. data/spec/perf/store_perf_spec.rb +28 -0
  183. data/spec/ping/blackberry_spec.rb +62 -0
  184. data/spec/ping/iphone_spec.rb +50 -0
  185. data/spec/read_state_spec.rb +25 -0
  186. data/spec/rhosync_spec.rb +43 -0
  187. data/spec/server/server_spec.rb +341 -0
  188. data/spec/source_adapter_spec.rb +114 -0
  189. data/spec/source_spec.rb +77 -0
  190. data/spec/source_sync_spec.rb +248 -0
  191. data/spec/spec_helper.rb +240 -0
  192. data/spec/store_spec.rb +149 -0
  193. data/spec/sync_states_spec.rb +101 -0
  194. data/spec/testdata/1000-data.txt +1414 -0
  195. data/spec/testdata/compressed/compress-data.txt +1 -0
  196. data/spec/testdata/upload1.txt +1 -0
  197. data/spec/testdata/upload2.txt +1 -0
  198. data/spec/user_spec.rb +79 -0
  199. data/tasks/redis.rake +134 -0
  200. metadata +545 -0
data/doc/protocol.html ADDED
@@ -0,0 +1,1901 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
6
+ <title>Rhosync API</title>
7
+
8
+ <link rel="stylesheet" href="./public/css/screen.css" type="text/css" media="screen, projection">
9
+ <link rel="stylesheet" href="./public/css/print.css" type="text/css" media="print">
10
+ <!--[if lt IE 8]>
11
+ <link rel="stylesheet" href="./public/css/ie.css" type="text/css" media="screen, projection">
12
+ <![endif]-->
13
+ <link rel="stylesheet" href="./public/css/style.css" type="text/css" media="screen" charset="utf-8"/>
14
+ </head>
15
+
16
+ <body>
17
+ <br/><br/>
18
+ <div class="container">
19
+ <div id="wrapper">
20
+ <h1>Table of Contents</h1>
21
+ <ul id="toc">
22
+
23
+ <li><span>1.</span> <a href="#1">clientlogin - authenticate client</a><br/></li>
24
+
25
+ <li><span>2.</span> <a href="#2">clientlogin - login failure</a><br/></li>
26
+
27
+ <li><span>3.</span> <a href="#3">clientcreate - create client id</a><br/></li>
28
+
29
+ <li><span>4.</span> <a href="#4">clientcreate-and-register - create client id with register params</a><br/></li>
30
+
31
+ <li><span>5.</span> <a href="#5">clientregister - register client with params</a><br/></li>
32
+
33
+ <li><span>6.</span> <a href="#6">clientreset - reset client database</a><br/></li>
34
+
35
+ <li><span>7.</span> <a href="#7">create - create object(s)</a><br/></li>
36
+
37
+ <li><span>8.</span> <a href="#8">update - update object(s)</a><br/></li>
38
+
39
+ <li><span>9.</span> <a href="#9">delete - delete object(s)</a><br/></li>
40
+
41
+ <li><span>10.</span> <a href="#10">create - client creates blobs</a><br/></li>
42
+
43
+ <li><span>11.</span> <a href="#11">create-update-delete - create,update,delete object(s)</a><br/></li>
44
+
45
+ <li><span>12.</span> <a href="#12">create-with-link - send link for created object</a><br/></li>
46
+
47
+ <li><span>13.</span> <a href="#13">query-error - send query error</a><br/></li>
48
+
49
+ <li><span>14.</span> <a href="#14">login-error - send login error</a><br/></li>
50
+
51
+ <li><span>15.</span> <a href="#15">logoff-error - send logoff error</a><br/></li>
52
+
53
+ <li><span>16.</span> <a href="#16">create-error - send create error</a><br/></li>
54
+
55
+ <li><span>17.</span> <a href="#17">update-error - send update error</a><br/></li>
56
+
57
+ <li><span>18.</span> <a href="#18">delete-error - send delete error</a><br/></li>
58
+
59
+ <li><span>19.</span> <a href="#19">insert objects - send insert objects</a><br/></li>
60
+
61
+ <li><span>20.</span> <a href="#20">metadata - send metadata</a><br/></li>
62
+
63
+ <li><span>21.</span> <a href="#21">delete objects - send delete objects</a><br/></li>
64
+
65
+ <li><span>22.</span> <a href="#22">insert-delete objects - send insert and delete objects</a><br/></li>
66
+
67
+ <li><span>23.</span> <a href="#23">search result - send search results</a><br/></li>
68
+
69
+ <li><span>24.</span> <a href="#24">search error - send search error</a><br/></li>
70
+
71
+ <li><span>25.</span> <a href="#25">multi source search - send multiple sources in search results</a><br/></li>
72
+
73
+ </ul>
74
+ </div>
75
+ </div>
76
+ <br/><br/>
77
+ <div class="container">
78
+ <div class="span-24 content">
79
+ <h2 id='1'>1. clientlogin - authenticate client</h2>
80
+
81
+ <h3>Request: POST /application/clientlogin</h3>
82
+ <table>
83
+ <thead>
84
+ <tr>
85
+ <th>Header</th>
86
+ <th>Value</th>
87
+ </tr>
88
+ </thead>
89
+ <tbody>
90
+ <tr>
91
+ <td style='text-align: left;'>Content-Type</td>
92
+ <td style='text-align: left;'>application/json</td>
93
+ </tr>
94
+ <tr>
95
+ <td style='text-align: left;'>Content-Length</td>
96
+ <td style='text-align: left;'>42</td>
97
+ </tr>
98
+ <tr>
99
+ <td style='text-align: left;'>Cookie</td>
100
+ <td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73</td>
101
+ </tr>
102
+ </tbody>
103
+ </table>
104
+ <table>
105
+ <thead>
106
+ <tr>
107
+ <th>Body</th>
108
+ </tr>
109
+ </thead>
110
+ <tbody>
111
+ <tr>
112
+ <td>{"password":"testpass","login":"testuser"}</td>
113
+ </tr>
114
+ </tbody>
115
+ </table>
116
+ <h3>Response: 200</h3>
117
+ <table>
118
+ <thead>
119
+ <tr>
120
+ <th>Header</th>
121
+ <th>Value</th>
122
+ </tr>
123
+ </thead>
124
+ <tbody>
125
+ <tr>
126
+ <td style='text-align: left;'>Content-Type</td>
127
+ <td style='text-align: left;'>text/html</td>
128
+ </tr>
129
+ <tr>
130
+ <td style='text-align: left;'>Content-Length</td>
131
+ <td style='text-align: left;'>0</td>
132
+ </tr>
133
+ <tr>
134
+ <td style='text-align: left;'>Set-Cookie</td>
135
+ <td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:11 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:11 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:11 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:11 GMT</td>
136
+ </tr>
137
+ </tbody>
138
+ </table>
139
+ <table>
140
+ <thead>
141
+ <tr>
142
+ <th>Body</th>
143
+ </tr>
144
+ </thead>
145
+ <tbody>
146
+ <tr>
147
+ <td style='text-align: left;'></td>
148
+ </tr>
149
+ </tbody>
150
+ </table>
151
+ <h2 id='2'>2. clientlogin - login failure</h2>
152
+
153
+ <h3>Request: POST /application/clientlogin</h3>
154
+ <table>
155
+ <thead>
156
+ <tr>
157
+ <th>Header</th>
158
+ <th>Value</th>
159
+ </tr>
160
+ </thead>
161
+ <tbody>
162
+ <tr>
163
+ <td style='text-align: left;'>Content-Type</td>
164
+ <td style='text-align: left;'>application/json</td>
165
+ </tr>
166
+ <tr>
167
+ <td style='text-align: left;'>Content-Length</td>
168
+ <td style='text-align: left;'>43</td>
169
+ </tr>
170
+ <tr>
171
+ <td style='text-align: left;'>Cookie</td>
172
+ <td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73</td>
173
+ </tr>
174
+ </tbody>
175
+ </table>
176
+ <table>
177
+ <thead>
178
+ <tr>
179
+ <th>Body</th>
180
+ </tr>
181
+ </thead>
182
+ <tbody>
183
+ <tr>
184
+ <td>{"password":"wrongpass","login":"testuser"}</td>
185
+ </tr>
186
+ </tbody>
187
+ </table>
188
+ <h3>Response: 401</h3>
189
+ <table>
190
+ <thead>
191
+ <tr>
192
+ <th>Header</th>
193
+ <th>Value</th>
194
+ </tr>
195
+ </thead>
196
+ <tbody>
197
+ <tr>
198
+ <td style='text-align: left;'>Content-Type</td>
199
+ <td style='text-align: left;'>text/html</td>
200
+ </tr>
201
+ <tr>
202
+ <td style='text-align: left;'>Content-Length</td>
203
+ <td style='text-align: left;'>0</td>
204
+ </tr>
205
+ <tr>
206
+ <td style='text-align: left;'>Set-Cookie</td>
207
+ <td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbjA6DWFwcF9uYW1lIhBhcHBs%0AaWNhdGlvbg%3D%3D%0A--26193b96f7182c08168aae9bea3303b6a1b91def; path=/; expires=Sat, 30-Apr-2011 22:48:11 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbjA6DWFwcF9uYW1lIhBhcHBs%0AaWNhdGlvbg%3D%3D%0A--26193b96f7182c08168aae9bea3303b6a1b91def; path=/; expires=Sat, 30-Apr-2011 22:48:11 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbjA6DWFwcF9uYW1lIhBhcHBs%0AaWNhdGlvbg%3D%3D%0A--26193b96f7182c08168aae9bea3303b6a1b91def; path=/; expires=Sat, 30-Apr-2011 22:48:11 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbjA6DWFwcF9uYW1lIhBhcHBs%0AaWNhdGlvbg%3D%3D%0A--26193b96f7182c08168aae9bea3303b6a1b91def; path=/; expires=Sat, 30-Apr-2011 22:48:11 GMT</td>
208
+ </tr>
209
+ </tbody>
210
+ </table>
211
+ <table>
212
+ <thead>
213
+ <tr>
214
+ <th>Body</th>
215
+ </tr>
216
+ </thead>
217
+ <tbody>
218
+ <tr>
219
+ <td style='text-align: left;'></td>
220
+ </tr>
221
+ </tbody>
222
+ </table>
223
+ <h2 id='3'>3. clientcreate - create client id</h2>
224
+
225
+ <h3>Request: GET /application/clientcreate</h3>
226
+ <table>
227
+ <thead>
228
+ <tr>
229
+ <th>Header</th>
230
+ <th>Value</th>
231
+ </tr>
232
+ </thead>
233
+ <tbody>
234
+ <tr>
235
+ <td style='text-align: left;'>Content-Type</td>
236
+ <td style='text-align: left;'>&nbsp;</td>
237
+ </tr>
238
+ <tr>
239
+ <td style='text-align: left;'>Content-Length</td>
240
+ <td style='text-align: left;'>0</td>
241
+ </tr>
242
+ <tr>
243
+ <td style='text-align: left;'>Cookie</td>
244
+ <td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73</td>
245
+ </tr>
246
+ </tbody>
247
+ </table>
248
+ <table>
249
+ <thead>
250
+ <tr>
251
+ <th>Body</th>
252
+ </tr>
253
+ </thead>
254
+ <tbody>
255
+ <tr>
256
+ <td></td>
257
+ </tr>
258
+ </tbody>
259
+ </table>
260
+ <h3>Response: 200</h3>
261
+ <table>
262
+ <thead>
263
+ <tr>
264
+ <th>Header</th>
265
+ <th>Value</th>
266
+ </tr>
267
+ </thead>
268
+ <tbody>
269
+ <tr>
270
+ <td style='text-align: left;'>Content-Type</td>
271
+ <td style='text-align: left;'>application/json</td>
272
+ </tr>
273
+ <tr>
274
+ <td style='text-align: left;'>Content-Length</td>
275
+ <td style='text-align: left;'>170</td>
276
+ </tr>
277
+ <tr>
278
+ <td style='text-align: left;'>Set-Cookie</td>
279
+ <td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:11 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:11 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:11 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:11 GMT</td>
280
+ </tr>
281
+ </tbody>
282
+ </table>
283
+ <table>
284
+ <thead>
285
+ <tr>
286
+ <th>Body</th>
287
+ </tr>
288
+ </thead>
289
+ <tbody>
290
+ <tr>
291
+ <td style='text-align: left;'>{"sources":{"SampleAdapter":{"poll_interval":300},"SimpleAdapter":{"partition_type":"app","poll_interval":600}},"client":{"client_id":"6427883266d34041b6b4d447afe14348"}}</td>
292
+ </tr>
293
+ </tbody>
294
+ </table>
295
+ <h2 id='4'>4. clientcreate-and-register - create client id with register params</h2>
296
+
297
+ <h3>Request: GET /application/clientcreate?device_port=3333&device_pin=abcd&device_type=iPhone</h3>
298
+ <table>
299
+ <thead>
300
+ <tr>
301
+ <th>Header</th>
302
+ <th>Value</th>
303
+ </tr>
304
+ </thead>
305
+ <tbody>
306
+ <tr>
307
+ <td style='text-align: left;'>Content-Type</td>
308
+ <td style='text-align: left;'>&nbsp;</td>
309
+ </tr>
310
+ <tr>
311
+ <td style='text-align: left;'>Content-Length</td>
312
+ <td style='text-align: left;'>0</td>
313
+ </tr>
314
+ <tr>
315
+ <td style='text-align: left;'>Cookie</td>
316
+ <td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73</td>
317
+ </tr>
318
+ </tbody>
319
+ </table>
320
+ <table>
321
+ <thead>
322
+ <tr>
323
+ <th>Body</th>
324
+ </tr>
325
+ </thead>
326
+ <tbody>
327
+ <tr>
328
+ <td></td>
329
+ </tr>
330
+ </tbody>
331
+ </table>
332
+ <h3>Response: 200</h3>
333
+ <table>
334
+ <thead>
335
+ <tr>
336
+ <th>Header</th>
337
+ <th>Value</th>
338
+ </tr>
339
+ </thead>
340
+ <tbody>
341
+ <tr>
342
+ <td style='text-align: left;'>Content-Type</td>
343
+ <td style='text-align: left;'>application/json</td>
344
+ </tr>
345
+ <tr>
346
+ <td style='text-align: left;'>Content-Length</td>
347
+ <td style='text-align: left;'>170</td>
348
+ </tr>
349
+ <tr>
350
+ <td style='text-align: left;'>Set-Cookie</td>
351
+ <td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:11 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:11 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:11 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:11 GMT</td>
352
+ </tr>
353
+ </tbody>
354
+ </table>
355
+ <table>
356
+ <thead>
357
+ <tr>
358
+ <th>Body</th>
359
+ </tr>
360
+ </thead>
361
+ <tbody>
362
+ <tr>
363
+ <td style='text-align: left;'>{"sources":{"SampleAdapter":{"poll_interval":300},"SimpleAdapter":{"partition_type":"app","poll_interval":600}},"client":{"client_id":"9025c9d079e54d05b333f44757b99a28"}}</td>
364
+ </tr>
365
+ </tbody>
366
+ </table>
367
+ <h2 id='5'>5. clientregister - register client with params</h2>
368
+
369
+ <h3>Request: POST /application/clientregister</h3>
370
+ <table>
371
+ <thead>
372
+ <tr>
373
+ <th>Header</th>
374
+ <th>Value</th>
375
+ </tr>
376
+ </thead>
377
+ <tbody>
378
+ <tr>
379
+ <td style='text-align: left;'>Content-Type</td>
380
+ <td style='text-align: left;'>application/json</td>
381
+ </tr>
382
+ <tr>
383
+ <td style='text-align: left;'>Content-Length</td>
384
+ <td style='text-align: left;'>112</td>
385
+ </tr>
386
+ <tr>
387
+ <td style='text-align: left;'>Cookie</td>
388
+ <td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73</td>
389
+ </tr>
390
+ </tbody>
391
+ </table>
392
+ <table>
393
+ <thead>
394
+ <tr>
395
+ <th>Body</th>
396
+ </tr>
397
+ </thead>
398
+ <tbody>
399
+ <tr>
400
+ <td>{"device_port":"3333","device_pin":"abcd","device_type":"iPhone","client_id":"6a958f599fc14fafb231c36a026587ec"}</td>
401
+ </tr>
402
+ </tbody>
403
+ </table>
404
+ <h3>Response: 200</h3>
405
+ <table>
406
+ <thead>
407
+ <tr>
408
+ <th>Header</th>
409
+ <th>Value</th>
410
+ </tr>
411
+ </thead>
412
+ <tbody>
413
+ <tr>
414
+ <td style='text-align: left;'>Content-Type</td>
415
+ <td style='text-align: left;'>text/html</td>
416
+ </tr>
417
+ <tr>
418
+ <td style='text-align: left;'>Content-Length</td>
419
+ <td style='text-align: left;'>112</td>
420
+ </tr>
421
+ <tr>
422
+ <td style='text-align: left;'>Set-Cookie</td>
423
+ <td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:12 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:12 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:12 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:12 GMT</td>
424
+ </tr>
425
+ </tbody>
426
+ </table>
427
+ <table>
428
+ <thead>
429
+ <tr>
430
+ <th>Body</th>
431
+ </tr>
432
+ </thead>
433
+ <tbody>
434
+ <tr>
435
+ <td style='text-align: left;'>{"sources":{"SampleAdapter":{"poll_interval":300},"SimpleAdapter":{"partition_type":"app","poll_interval":600}}}</td>
436
+ </tr>
437
+ </tbody>
438
+ </table>
439
+ <h2 id='6'>6. clientreset - reset client database</h2>
440
+
441
+ <h3>Request: GET /application/clientreset?client_id=d957c31439e04aa595891da5d18e60a3</h3>
442
+ <table>
443
+ <thead>
444
+ <tr>
445
+ <th>Header</th>
446
+ <th>Value</th>
447
+ </tr>
448
+ </thead>
449
+ <tbody>
450
+ <tr>
451
+ <td style='text-align: left;'>Content-Type</td>
452
+ <td style='text-align: left;'>&nbsp;</td>
453
+ </tr>
454
+ <tr>
455
+ <td style='text-align: left;'>Content-Length</td>
456
+ <td style='text-align: left;'>0</td>
457
+ </tr>
458
+ <tr>
459
+ <td style='text-align: left;'>Cookie</td>
460
+ <td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73</td>
461
+ </tr>
462
+ </tbody>
463
+ </table>
464
+ <table>
465
+ <thead>
466
+ <tr>
467
+ <th>Body</th>
468
+ </tr>
469
+ </thead>
470
+ <tbody>
471
+ <tr>
472
+ <td></td>
473
+ </tr>
474
+ </tbody>
475
+ </table>
476
+ <h3>Response: 200</h3>
477
+ <table>
478
+ <thead>
479
+ <tr>
480
+ <th>Header</th>
481
+ <th>Value</th>
482
+ </tr>
483
+ </thead>
484
+ <tbody>
485
+ <tr>
486
+ <td style='text-align: left;'>Content-Type</td>
487
+ <td style='text-align: left;'>text/html</td>
488
+ </tr>
489
+ <tr>
490
+ <td style='text-align: left;'>Content-Length</td>
491
+ <td style='text-align: left;'>112</td>
492
+ </tr>
493
+ <tr>
494
+ <td style='text-align: left;'>Set-Cookie</td>
495
+ <td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:12 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:12 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:12 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:12 GMT</td>
496
+ </tr>
497
+ </tbody>
498
+ </table>
499
+ <table>
500
+ <thead>
501
+ <tr>
502
+ <th>Body</th>
503
+ </tr>
504
+ </thead>
505
+ <tbody>
506
+ <tr>
507
+ <td style='text-align: left;'>{"sources":{"SampleAdapter":{"poll_interval":300},"SimpleAdapter":{"partition_type":"app","poll_interval":600}}}</td>
508
+ </tr>
509
+ </tbody>
510
+ </table>
511
+ <h2 id='7'>7. create - create object(s)</h2>
512
+
513
+ <h3>Request: POST /application</h3>
514
+ <table>
515
+ <thead>
516
+ <tr>
517
+ <th>Header</th>
518
+ <th>Value</th>
519
+ </tr>
520
+ </thead>
521
+ <tbody>
522
+ <tr>
523
+ <td style='text-align: left;'>Content-Type</td>
524
+ <td style='text-align: left;'>application/json</td>
525
+ </tr>
526
+ <tr>
527
+ <td style='text-align: left;'>Content-Length</td>
528
+ <td style='text-align: left;'>144</td>
529
+ </tr>
530
+ <tr>
531
+ <td style='text-align: left;'>Cookie</td>
532
+ <td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73</td>
533
+ </tr>
534
+ </tbody>
535
+ </table>
536
+ <table>
537
+ <thead>
538
+ <tr>
539
+ <th>Body</th>
540
+ </tr>
541
+ </thead>
542
+ <tbody>
543
+ <tr>
544
+ <td>{"source_name":"SampleAdapter","client_id":"c76d017e6459473e85d293ccb990d7c7","create":{"1":{"price":"199.99","brand":"Apple","name":"iPhone"}}}</td>
545
+ </tr>
546
+ </tbody>
547
+ </table>
548
+ <h3>Response: 200</h3>
549
+ <table>
550
+ <thead>
551
+ <tr>
552
+ <th>Header</th>
553
+ <th>Value</th>
554
+ </tr>
555
+ </thead>
556
+ <tbody>
557
+ <tr>
558
+ <td style='text-align: left;'>Content-Type</td>
559
+ <td style='text-align: left;'>text/html</td>
560
+ </tr>
561
+ <tr>
562
+ <td style='text-align: left;'>Content-Length</td>
563
+ <td style='text-align: left;'>0</td>
564
+ </tr>
565
+ <tr>
566
+ <td style='text-align: left;'>Set-Cookie</td>
567
+ <td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:12 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:12 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:12 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:12 GMT</td>
568
+ </tr>
569
+ </tbody>
570
+ </table>
571
+ <table>
572
+ <thead>
573
+ <tr>
574
+ <th>Body</th>
575
+ </tr>
576
+ </thead>
577
+ <tbody>
578
+ <tr>
579
+ <td style='text-align: left;'></td>
580
+ </tr>
581
+ </tbody>
582
+ </table>
583
+ <h2 id='8'>8. update - update object(s)</h2>
584
+
585
+ <h3>Request: POST /application</h3>
586
+ <table>
587
+ <thead>
588
+ <tr>
589
+ <th>Header</th>
590
+ <th>Value</th>
591
+ </tr>
592
+ </thead>
593
+ <tbody>
594
+ <tr>
595
+ <td style='text-align: left;'>Content-Type</td>
596
+ <td style='text-align: left;'>application/json</td>
597
+ </tr>
598
+ <tr>
599
+ <td style='text-align: left;'>Content-Length</td>
600
+ <td style='text-align: left;'>144</td>
601
+ </tr>
602
+ <tr>
603
+ <td style='text-align: left;'>Cookie</td>
604
+ <td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73</td>
605
+ </tr>
606
+ </tbody>
607
+ </table>
608
+ <table>
609
+ <thead>
610
+ <tr>
611
+ <th>Body</th>
612
+ </tr>
613
+ </thead>
614
+ <tbody>
615
+ <tr>
616
+ <td>{"source_name":"SampleAdapter","client_id":"da475ba239714ccc8b2ab43e91a68ec0","update":{"1":{"price":"199.99","brand":"Apple","name":"iPhone"}}}</td>
617
+ </tr>
618
+ </tbody>
619
+ </table>
620
+ <h3>Response: 200</h3>
621
+ <table>
622
+ <thead>
623
+ <tr>
624
+ <th>Header</th>
625
+ <th>Value</th>
626
+ </tr>
627
+ </thead>
628
+ <tbody>
629
+ <tr>
630
+ <td style='text-align: left;'>Content-Type</td>
631
+ <td style='text-align: left;'>text/html</td>
632
+ </tr>
633
+ <tr>
634
+ <td style='text-align: left;'>Content-Length</td>
635
+ <td style='text-align: left;'>0</td>
636
+ </tr>
637
+ <tr>
638
+ <td style='text-align: left;'>Set-Cookie</td>
639
+ <td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:12 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:12 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:12 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:12 GMT</td>
640
+ </tr>
641
+ </tbody>
642
+ </table>
643
+ <table>
644
+ <thead>
645
+ <tr>
646
+ <th>Body</th>
647
+ </tr>
648
+ </thead>
649
+ <tbody>
650
+ <tr>
651
+ <td style='text-align: left;'></td>
652
+ </tr>
653
+ </tbody>
654
+ </table>
655
+ <h2 id='9'>9. delete - delete object(s)</h2>
656
+
657
+ <h3>Request: POST /application</h3>
658
+ <table>
659
+ <thead>
660
+ <tr>
661
+ <th>Header</th>
662
+ <th>Value</th>
663
+ </tr>
664
+ </thead>
665
+ <tbody>
666
+ <tr>
667
+ <td style='text-align: left;'>Content-Type</td>
668
+ <td style='text-align: left;'>application/json</td>
669
+ </tr>
670
+ <tr>
671
+ <td style='text-align: left;'>Content-Length</td>
672
+ <td style='text-align: left;'>144</td>
673
+ </tr>
674
+ <tr>
675
+ <td style='text-align: left;'>Cookie</td>
676
+ <td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73</td>
677
+ </tr>
678
+ </tbody>
679
+ </table>
680
+ <table>
681
+ <thead>
682
+ <tr>
683
+ <th>Body</th>
684
+ </tr>
685
+ </thead>
686
+ <tbody>
687
+ <tr>
688
+ <td>{"source_name":"SampleAdapter","delete":{"1":{"price":"199.99","brand":"Apple","name":"iPhone"}},"client_id":"5c014c2f7785459cac2c6e5548b00dc6"}</td>
689
+ </tr>
690
+ </tbody>
691
+ </table>
692
+ <h3>Response: 200</h3>
693
+ <table>
694
+ <thead>
695
+ <tr>
696
+ <th>Header</th>
697
+ <th>Value</th>
698
+ </tr>
699
+ </thead>
700
+ <tbody>
701
+ <tr>
702
+ <td style='text-align: left;'>Content-Type</td>
703
+ <td style='text-align: left;'>text/html</td>
704
+ </tr>
705
+ <tr>
706
+ <td style='text-align: left;'>Content-Length</td>
707
+ <td style='text-align: left;'>0</td>
708
+ </tr>
709
+ <tr>
710
+ <td style='text-align: left;'>Set-Cookie</td>
711
+ <td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:12 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:12 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:12 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:12 GMT</td>
712
+ </tr>
713
+ </tbody>
714
+ </table>
715
+ <table>
716
+ <thead>
717
+ <tr>
718
+ <th>Body</th>
719
+ </tr>
720
+ </thead>
721
+ <tbody>
722
+ <tr>
723
+ <td style='text-align: left;'></td>
724
+ </tr>
725
+ </tbody>
726
+ </table>
727
+ <h2 id='10'>10. create - client creates blobs</h2>
728
+
729
+ <h3>Request: POST /application</h3>
730
+ <table>
731
+ <thead>
732
+ <tr>
733
+ <th>Header</th>
734
+ <th>Value</th>
735
+ </tr>
736
+ </thead>
737
+ <tbody>
738
+ <tr>
739
+ <td style='text-align: left;'>Content-Type</td>
740
+ <td style='text-align: left;'>multipart/form-data; boundary=----------XnJLe9ZIbbGUYtzPQJ16u1</td>
741
+ </tr>
742
+ <tr>
743
+ <td style='text-align: left;'>Content-Length</td>
744
+ <td style='text-align: left;'>833</td>
745
+ </tr>
746
+ <tr>
747
+ <td style='text-align: left;'>Cookie</td>
748
+ <td style='text-align: left;'>rhosync_session=BAh7CDoNYXBwX25hbWUiEGFwcGxpY2F0aW9uOglhdXRoIg5kZWxlZ2F0ZWQ6
749
+ CmxvZ2luIg10ZXN0dXNlcg==
750
+ --87659670a0625baf4cdd81bdb9bf829b4567eb35</td>
751
+ </tr>
752
+ </tbody>
753
+ </table>
754
+ <table>
755
+ <thead>
756
+ <tr>
757
+ <th>Body</th>
758
+ </tr>
759
+ </thead>
760
+ <tbody>
761
+ <tr>
762
+ <td><pre>------------XnJLe9ZIbbGUYtzPQJ16u1
763
+ Content-Disposition: form-data; name="txtfile-rhoblob-1"; filename="upload1.txt"
764
+ Content-Type: application/octet-stream
765
+ Content-Length: 5
766
+
767
+ hello
768
+ ------------XnJLe9ZIbbGUYtzPQJ16u1
769
+ Content-Disposition: form-data; name="txtfile-rhoblob-2"; filename="upload2.txt"
770
+ Content-Type: application/octet-stream
771
+ Content-Length: 5
772
+
773
+ world
774
+ ------------XnJLe9ZIbbGUYtzPQJ16u1
775
+ Content-Disposition: form-data; name="cud"
776
+
777
+ {"client_id":"278c76a7ab2a4f64ba804c1aa22504f3","source_name":"SampleAdapter","version":3,"create":{"1":{"price":"199.99","brand":"Apple","name":"iPhone","txtfile-rhoblob":"upload1.txt","_id":"tempobj1"},"2":{"price":"99.99","brand":"Android","name":"G2","txtfile-rhoblob":"upload2.txt","_id":"tempobj2"}},"blob_fields":["txtfile-rhoblob"]}
778
+ ------------XnJLe9ZIbbGUYtzPQJ16u1--</pre>
779
+ </td>
780
+ </tr>
781
+ </tbody>
782
+ </table>
783
+ <h3>Response: 200</h3>
784
+ <table>
785
+ <thead>
786
+ <tr>
787
+ <th>Header</th>
788
+ <th>Value</th>
789
+ </tr>
790
+ </thead>
791
+ <tbody>
792
+ <tr>
793
+ <td style='text-align: left;'>Content-Type</td>
794
+ <td style='text-align: left;'>text/html</td>
795
+ </tr>
796
+ <tr>
797
+ <td style='text-align: left;'>Content-Length</td>
798
+ <td style='text-align: left;'>0</td>
799
+ </tr>
800
+ <tr>
801
+ <td style='text-align: left;'>Set-Cookie</td>
802
+ <td style='text-align: left;'>rhosync_session=BAh7CDoKbG9naW4iDXRlc3R1c2VyOg1hcHBfbmFtZSIPcmhvdGVzdGFwcDoJ%0AYXV0aCIOZGVsZWdhdGVk%0A--788449811455529433e658e1c486c622f47ee0d8; path=/; expires=Mon, 04-Apr-2011 19:29:32</td>
803
+ </tr>
804
+ </tbody>
805
+ </table>
806
+ <table>
807
+ <thead>
808
+ <tr>
809
+ <th>Body</th>
810
+ </tr>
811
+ </thead>
812
+ <tbody>
813
+ <tr>
814
+ <td style='text-align: left;'></td>
815
+ </tr>
816
+ </tbody>
817
+ </table>
818
+ <h2 id='11'>11. create-update-delete - create,update,delete object(s)</h2>
819
+
820
+ <h3>Request: POST /application</h3>
821
+ <table>
822
+ <thead>
823
+ <tr>
824
+ <th>Header</th>
825
+ <th>Value</th>
826
+ </tr>
827
+ </thead>
828
+ <tbody>
829
+ <tr>
830
+ <td style='text-align: left;'>Content-Type</td>
831
+ <td style='text-align: left;'>application/json</td>
832
+ </tr>
833
+ <tr>
834
+ <td style='text-align: left;'>Content-Length</td>
835
+ <td style='text-align: left;'>269</td>
836
+ </tr>
837
+ <tr>
838
+ <td style='text-align: left;'>Cookie</td>
839
+ <td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73</td>
840
+ </tr>
841
+ </tbody>
842
+ </table>
843
+ <table>
844
+ <thead>
845
+ <tr>
846
+ <th>Body</th>
847
+ </tr>
848
+ </thead>
849
+ <tbody>
850
+ <tr>
851
+ <td>{"source_name":"SampleAdapter","delete":{"3":{"price":"299.99","brand":"HTC","name":"Fuze"}},"client_id":"0cdfbab775c04d748f0b4123479013ee","create":{"1":{"price":"199.99","brand":"Apple","name":"iPhone"}},"update":{"2":{"price":"99.99","brand":"Android","name":"G2"}}}</td>
852
+ </tr>
853
+ </tbody>
854
+ </table>
855
+ <h3>Response: 200</h3>
856
+ <table>
857
+ <thead>
858
+ <tr>
859
+ <th>Header</th>
860
+ <th>Value</th>
861
+ </tr>
862
+ </thead>
863
+ <tbody>
864
+ <tr>
865
+ <td style='text-align: left;'>Content-Type</td>
866
+ <td style='text-align: left;'>text/html</td>
867
+ </tr>
868
+ <tr>
869
+ <td style='text-align: left;'>Content-Length</td>
870
+ <td style='text-align: left;'>0</td>
871
+ </tr>
872
+ <tr>
873
+ <td style='text-align: left;'>Set-Cookie</td>
874
+ <td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:13 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:13 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:13 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:13 GMT</td>
875
+ </tr>
876
+ </tbody>
877
+ </table>
878
+ <table>
879
+ <thead>
880
+ <tr>
881
+ <th>Body</th>
882
+ </tr>
883
+ </thead>
884
+ <tbody>
885
+ <tr>
886
+ <td style='text-align: left;'></td>
887
+ </tr>
888
+ </tbody>
889
+ </table>
890
+ <h2 id='12'>12. create-with-link - send link for created object</h2>
891
+
892
+ <h3>Request: GET /application?source_name=SampleAdapter&client_id=417a7cda760b4c95bd3aa6f90394ea2f&version=3</h3>
893
+ <table>
894
+ <thead>
895
+ <tr>
896
+ <th>Header</th>
897
+ <th>Value</th>
898
+ </tr>
899
+ </thead>
900
+ <tbody>
901
+ <tr>
902
+ <td style='text-align: left;'>Content-Type</td>
903
+ <td style='text-align: left;'>&nbsp;</td>
904
+ </tr>
905
+ <tr>
906
+ <td style='text-align: left;'>Content-Length</td>
907
+ <td style='text-align: left;'>0</td>
908
+ </tr>
909
+ <tr>
910
+ <td style='text-align: left;'>Cookie</td>
911
+ <td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73</td>
912
+ </tr>
913
+ </tbody>
914
+ </table>
915
+ <table>
916
+ <thead>
917
+ <tr>
918
+ <th>Body</th>
919
+ </tr>
920
+ </thead>
921
+ <tbody>
922
+ <tr>
923
+ <td></td>
924
+ </tr>
925
+ </tbody>
926
+ </table>
927
+ <h3>Response: 200</h3>
928
+ <table>
929
+ <thead>
930
+ <tr>
931
+ <th>Header</th>
932
+ <th>Value</th>
933
+ </tr>
934
+ </thead>
935
+ <tbody>
936
+ <tr>
937
+ <td style='text-align: left;'>Content-Type</td>
938
+ <td style='text-align: left;'>application/json</td>
939
+ </tr>
940
+ <tr>
941
+ <td style='text-align: left;'>Content-Length</td>
942
+ <td style='text-align: left;'>223</td>
943
+ </tr>
944
+ <tr>
945
+ <td style='text-align: left;'>Set-Cookie</td>
946
+ <td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:13 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:13 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:13 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:13 GMT</td>
947
+ </tr>
948
+ </tbody>
949
+ </table>
950
+ <table>
951
+ <thead>
952
+ <tr>
953
+ <th>Body</th>
954
+ </tr>
955
+ </thead>
956
+ <tbody>
957
+ <tr>
958
+ <td style='text-align: left;'>[{"version":3},{"token":"41870893173296"},{"count":1},{"progress_count":0},{"total_count":0},{"delete":{"backend_id":{"price":"249.99","brand":"Android","name":"Droid","link":"test link"}},"links":{"4":{"l":"backend_id"}}}]</td>
959
+ </tr>
960
+ </tbody>
961
+ </table>
962
+ <h2 id='13'>13. query-error - send query error</h2>
963
+
964
+ <h3>Request: GET /application?source_name=SampleAdapter&client_id=e966826292ff4feaa1cccad3ab584de4&version=3</h3>
965
+ <table>
966
+ <thead>
967
+ <tr>
968
+ <th>Header</th>
969
+ <th>Value</th>
970
+ </tr>
971
+ </thead>
972
+ <tbody>
973
+ <tr>
974
+ <td style='text-align: left;'>Content-Type</td>
975
+ <td style='text-align: left;'>&nbsp;</td>
976
+ </tr>
977
+ <tr>
978
+ <td style='text-align: left;'>Content-Length</td>
979
+ <td style='text-align: left;'>0</td>
980
+ </tr>
981
+ <tr>
982
+ <td style='text-align: left;'>Cookie</td>
983
+ <td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73</td>
984
+ </tr>
985
+ </tbody>
986
+ </table>
987
+ <table>
988
+ <thead>
989
+ <tr>
990
+ <th>Body</th>
991
+ </tr>
992
+ </thead>
993
+ <tbody>
994
+ <tr>
995
+ <td></td>
996
+ </tr>
997
+ </tbody>
998
+ </table>
999
+ <h3>Response: 200</h3>
1000
+ <table>
1001
+ <thead>
1002
+ <tr>
1003
+ <th>Header</th>
1004
+ <th>Value</th>
1005
+ </tr>
1006
+ </thead>
1007
+ <tbody>
1008
+ <tr>
1009
+ <td style='text-align: left;'>Content-Type</td>
1010
+ <td style='text-align: left;'>application/json</td>
1011
+ </tr>
1012
+ <tr>
1013
+ <td style='text-align: left;'>Content-Length</td>
1014
+ <td style='text-align: left;'>145</td>
1015
+ </tr>
1016
+ <tr>
1017
+ <td style='text-align: left;'>Set-Cookie</td>
1018
+ <td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:13 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:13 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:13 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:13 GMT</td>
1019
+ </tr>
1020
+ </tbody>
1021
+ </table>
1022
+ <table>
1023
+ <thead>
1024
+ <tr>
1025
+ <th>Body</th>
1026
+ </tr>
1027
+ </thead>
1028
+ <tbody>
1029
+ <tr>
1030
+ <td style='text-align: left;'>[{"version":3},{"token":""},{"count":0},{"progress_count":0},{"total_count":0},{"source-error":{"query-error":{"message":"Error during query"}}}]</td>
1031
+ </tr>
1032
+ </tbody>
1033
+ </table>
1034
+ <h2 id='14'>14. login-error - send login error</h2>
1035
+
1036
+ <h3>Request: GET /application?source_name=SampleAdapter&client_id=9f22438468d24b338c37f978cd3a257c&version=3</h3>
1037
+ <table>
1038
+ <thead>
1039
+ <tr>
1040
+ <th>Header</th>
1041
+ <th>Value</th>
1042
+ </tr>
1043
+ </thead>
1044
+ <tbody>
1045
+ <tr>
1046
+ <td style='text-align: left;'>Content-Type</td>
1047
+ <td style='text-align: left;'>&nbsp;</td>
1048
+ </tr>
1049
+ <tr>
1050
+ <td style='text-align: left;'>Content-Length</td>
1051
+ <td style='text-align: left;'>0</td>
1052
+ </tr>
1053
+ <tr>
1054
+ <td style='text-align: left;'>Cookie</td>
1055
+ <td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73</td>
1056
+ </tr>
1057
+ </tbody>
1058
+ </table>
1059
+ <table>
1060
+ <thead>
1061
+ <tr>
1062
+ <th>Body</th>
1063
+ </tr>
1064
+ </thead>
1065
+ <tbody>
1066
+ <tr>
1067
+ <td></td>
1068
+ </tr>
1069
+ </tbody>
1070
+ </table>
1071
+ <h3>Response: 200</h3>
1072
+ <table>
1073
+ <thead>
1074
+ <tr>
1075
+ <th>Header</th>
1076
+ <th>Value</th>
1077
+ </tr>
1078
+ </thead>
1079
+ <tbody>
1080
+ <tr>
1081
+ <td style='text-align: left;'>Content-Type</td>
1082
+ <td style='text-align: left;'>application/json</td>
1083
+ </tr>
1084
+ <tr>
1085
+ <td style='text-align: left;'>Content-Length</td>
1086
+ <td style='text-align: left;'>168</td>
1087
+ </tr>
1088
+ <tr>
1089
+ <td style='text-align: left;'>Set-Cookie</td>
1090
+ <td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:13 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:13 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:13 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:13 GMT</td>
1091
+ </tr>
1092
+ </tbody>
1093
+ </table>
1094
+ <table>
1095
+ <thead>
1096
+ <tr>
1097
+ <th>Body</th>
1098
+ </tr>
1099
+ </thead>
1100
+ <tbody>
1101
+ <tr>
1102
+ <td style='text-align: left;'>[{"version":3},{"token":""},{"count":0},{"progress_count":0},{"total_count":0},{"source-error":{"login-error":{"message":"undefined method `login' for nil:NilClass"}}}]</td>
1103
+ </tr>
1104
+ </tbody>
1105
+ </table>
1106
+ <h2 id='15'>15. logoff-error - send logoff error</h2>
1107
+
1108
+ <h3>Request: GET /application?source_name=SampleAdapter&client_id=92d85be10979442bbda9c7c12b01fb61&version=3</h3>
1109
+ <table>
1110
+ <thead>
1111
+ <tr>
1112
+ <th>Header</th>
1113
+ <th>Value</th>
1114
+ </tr>
1115
+ </thead>
1116
+ <tbody>
1117
+ <tr>
1118
+ <td style='text-align: left;'>Content-Type</td>
1119
+ <td style='text-align: left;'>&nbsp;</td>
1120
+ </tr>
1121
+ <tr>
1122
+ <td style='text-align: left;'>Content-Length</td>
1123
+ <td style='text-align: left;'>0</td>
1124
+ </tr>
1125
+ <tr>
1126
+ <td style='text-align: left;'>Cookie</td>
1127
+ <td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73</td>
1128
+ </tr>
1129
+ </tbody>
1130
+ </table>
1131
+ <table>
1132
+ <thead>
1133
+ <tr>
1134
+ <th>Body</th>
1135
+ </tr>
1136
+ </thead>
1137
+ <tbody>
1138
+ <tr>
1139
+ <td></td>
1140
+ </tr>
1141
+ </tbody>
1142
+ </table>
1143
+ <h3>Response: 200</h3>
1144
+ <table>
1145
+ <thead>
1146
+ <tr>
1147
+ <th>Header</th>
1148
+ <th>Value</th>
1149
+ </tr>
1150
+ </thead>
1151
+ <tbody>
1152
+ <tr>
1153
+ <td style='text-align: left;'>Content-Type</td>
1154
+ <td style='text-align: left;'>application/json</td>
1155
+ </tr>
1156
+ <tr>
1157
+ <td style='text-align: left;'>Content-Length</td>
1158
+ <td style='text-align: left;'>250</td>
1159
+ </tr>
1160
+ <tr>
1161
+ <td style='text-align: left;'>Set-Cookie</td>
1162
+ <td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:13 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:13 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:13 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:13 GMT</td>
1163
+ </tr>
1164
+ </tbody>
1165
+ </table>
1166
+ <table>
1167
+ <thead>
1168
+ <tr>
1169
+ <th>Body</th>
1170
+ </tr>
1171
+ </thead>
1172
+ <tbody>
1173
+ <tr>
1174
+ <td style='text-align: left;'>[{"version":3},{"token":"41870893782895"},{"count":1},{"progress_count":0},{"total_count":1},{"source-error":{"logoff-error":{"message":"Error logging off"}},"insert":{"0_broken_object_id":{"name":"logoff error","an_attribute":"Error logging off"}}}]</td>
1175
+ </tr>
1176
+ </tbody>
1177
+ </table>
1178
+ <h2 id='16'>16. create-error - send create error</h2>
1179
+
1180
+ <h3>Request: GET /application?source_name=SampleAdapter&client_id=5735b551db1240aaad54867fc1475519&version=3</h3>
1181
+ <table>
1182
+ <thead>
1183
+ <tr>
1184
+ <th>Header</th>
1185
+ <th>Value</th>
1186
+ </tr>
1187
+ </thead>
1188
+ <tbody>
1189
+ <tr>
1190
+ <td style='text-align: left;'>Content-Type</td>
1191
+ <td style='text-align: left;'>&nbsp;</td>
1192
+ </tr>
1193
+ <tr>
1194
+ <td style='text-align: left;'>Content-Length</td>
1195
+ <td style='text-align: left;'>0</td>
1196
+ </tr>
1197
+ <tr>
1198
+ <td style='text-align: left;'>Cookie</td>
1199
+ <td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73</td>
1200
+ </tr>
1201
+ </tbody>
1202
+ </table>
1203
+ <table>
1204
+ <thead>
1205
+ <tr>
1206
+ <th>Body</th>
1207
+ </tr>
1208
+ </thead>
1209
+ <tbody>
1210
+ <tr>
1211
+ <td></td>
1212
+ </tr>
1213
+ </tbody>
1214
+ </table>
1215
+ <h3>Response: 200</h3>
1216
+ <table>
1217
+ <thead>
1218
+ <tr>
1219
+ <th>Header</th>
1220
+ <th>Value</th>
1221
+ </tr>
1222
+ </thead>
1223
+ <tbody>
1224
+ <tr>
1225
+ <td style='text-align: left;'>Content-Type</td>
1226
+ <td style='text-align: left;'>application/json</td>
1227
+ </tr>
1228
+ <tr>
1229
+ <td style='text-align: left;'>Content-Length</td>
1230
+ <td style='text-align: left;'>224</td>
1231
+ </tr>
1232
+ <tr>
1233
+ <td style='text-align: left;'>Set-Cookie</td>
1234
+ <td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:13 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:13 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:13 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:13 GMT</td>
1235
+ </tr>
1236
+ </tbody>
1237
+ </table>
1238
+ <table>
1239
+ <thead>
1240
+ <tr>
1241
+ <th>Body</th>
1242
+ </tr>
1243
+ </thead>
1244
+ <tbody>
1245
+ <tr>
1246
+ <td style='text-align: left;'>[{"version":3},{"token":""},{"count":0},{"progress_count":0},{"total_count":0},{"create-error":{"0_broken_object_id":{"name":"wrongname","an_attribute":"error create"},"0_broken_object_id-error":{"message":"error create"}}}]</td>
1247
+ </tr>
1248
+ </tbody>
1249
+ </table>
1250
+ <h2 id='17'>17. update-error - send update error</h2>
1251
+
1252
+ <h3>Request: GET /application?source_name=SampleAdapter&client_id=3dd4b2f101d44542851106881a56e58e&version=3</h3>
1253
+ <table>
1254
+ <thead>
1255
+ <tr>
1256
+ <th>Header</th>
1257
+ <th>Value</th>
1258
+ </tr>
1259
+ </thead>
1260
+ <tbody>
1261
+ <tr>
1262
+ <td style='text-align: left;'>Content-Type</td>
1263
+ <td style='text-align: left;'>&nbsp;</td>
1264
+ </tr>
1265
+ <tr>
1266
+ <td style='text-align: left;'>Content-Length</td>
1267
+ <td style='text-align: left;'>0</td>
1268
+ </tr>
1269
+ <tr>
1270
+ <td style='text-align: left;'>Cookie</td>
1271
+ <td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73</td>
1272
+ </tr>
1273
+ </tbody>
1274
+ </table>
1275
+ <table>
1276
+ <thead>
1277
+ <tr>
1278
+ <th>Body</th>
1279
+ </tr>
1280
+ </thead>
1281
+ <tbody>
1282
+ <tr>
1283
+ <td></td>
1284
+ </tr>
1285
+ </tbody>
1286
+ </table>
1287
+ <h3>Response: 200</h3>
1288
+ <table>
1289
+ <thead>
1290
+ <tr>
1291
+ <th>Header</th>
1292
+ <th>Value</th>
1293
+ </tr>
1294
+ </thead>
1295
+ <tbody>
1296
+ <tr>
1297
+ <td style='text-align: left;'>Content-Type</td>
1298
+ <td style='text-align: left;'>application/json</td>
1299
+ </tr>
1300
+ <tr>
1301
+ <td style='text-align: left;'>Content-Length</td>
1302
+ <td style='text-align: left;'>224</td>
1303
+ </tr>
1304
+ <tr>
1305
+ <td style='text-align: left;'>Set-Cookie</td>
1306
+ <td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:14 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:14 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:14 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:14 GMT</td>
1307
+ </tr>
1308
+ </tbody>
1309
+ </table>
1310
+ <table>
1311
+ <thead>
1312
+ <tr>
1313
+ <th>Body</th>
1314
+ </tr>
1315
+ </thead>
1316
+ <tbody>
1317
+ <tr>
1318
+ <td style='text-align: left;'>[{"version":3},{"token":""},{"count":0},{"progress_count":0},{"total_count":0},{"update-error":{"0_broken_object_id":{"name":"wrongname","an_attribute":"error update"},"0_broken_object_id-error":{"message":"error update"}}}]</td>
1319
+ </tr>
1320
+ </tbody>
1321
+ </table>
1322
+ <h2 id='18'>18. delete-error - send delete error</h2>
1323
+
1324
+ <h3>Request: GET /application?source_name=SampleAdapter&client_id=249d7bbf99f64d338465c55cd1daa09f&version=3</h3>
1325
+ <table>
1326
+ <thead>
1327
+ <tr>
1328
+ <th>Header</th>
1329
+ <th>Value</th>
1330
+ </tr>
1331
+ </thead>
1332
+ <tbody>
1333
+ <tr>
1334
+ <td style='text-align: left;'>Content-Type</td>
1335
+ <td style='text-align: left;'>&nbsp;</td>
1336
+ </tr>
1337
+ <tr>
1338
+ <td style='text-align: left;'>Content-Length</td>
1339
+ <td style='text-align: left;'>0</td>
1340
+ </tr>
1341
+ <tr>
1342
+ <td style='text-align: left;'>Cookie</td>
1343
+ <td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73</td>
1344
+ </tr>
1345
+ </tbody>
1346
+ </table>
1347
+ <table>
1348
+ <thead>
1349
+ <tr>
1350
+ <th>Body</th>
1351
+ </tr>
1352
+ </thead>
1353
+ <tbody>
1354
+ <tr>
1355
+ <td></td>
1356
+ </tr>
1357
+ </tbody>
1358
+ </table>
1359
+ <h3>Response: 200</h3>
1360
+ <table>
1361
+ <thead>
1362
+ <tr>
1363
+ <th>Header</th>
1364
+ <th>Value</th>
1365
+ </tr>
1366
+ </thead>
1367
+ <tbody>
1368
+ <tr>
1369
+ <td style='text-align: left;'>Content-Type</td>
1370
+ <td style='text-align: left;'>application/json</td>
1371
+ </tr>
1372
+ <tr>
1373
+ <td style='text-align: left;'>Content-Length</td>
1374
+ <td style='text-align: left;'>231</td>
1375
+ </tr>
1376
+ <tr>
1377
+ <td style='text-align: left;'>Set-Cookie</td>
1378
+ <td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:14 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:14 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:14 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:14 GMT</td>
1379
+ </tr>
1380
+ </tbody>
1381
+ </table>
1382
+ <table>
1383
+ <thead>
1384
+ <tr>
1385
+ <th>Body</th>
1386
+ </tr>
1387
+ </thead>
1388
+ <tbody>
1389
+ <tr>
1390
+ <td style='text-align: left;'>[{"version":3},{"token":""},{"count":0},{"progress_count":0},{"total_count":0},{"delete-error":{"0_broken_object_id":{"name":"wrongname","an_attribute":"error delete"},"0_broken_object_id-error":{"message":"Error delete record"}}}]</td>
1391
+ </tr>
1392
+ </tbody>
1393
+ </table>
1394
+ <h2 id='19'>19. insert objects - send insert objects</h2>
1395
+
1396
+ <h3>Request: GET /application?source_name=SampleAdapter&client_id=cddde1833c8643149d5ae8cf2a2164b4&version=3</h3>
1397
+ <table>
1398
+ <thead>
1399
+ <tr>
1400
+ <th>Header</th>
1401
+ <th>Value</th>
1402
+ </tr>
1403
+ </thead>
1404
+ <tbody>
1405
+ <tr>
1406
+ <td style='text-align: left;'>Content-Type</td>
1407
+ <td style='text-align: left;'>&nbsp;</td>
1408
+ </tr>
1409
+ <tr>
1410
+ <td style='text-align: left;'>Content-Length</td>
1411
+ <td style='text-align: left;'>0</td>
1412
+ </tr>
1413
+ <tr>
1414
+ <td style='text-align: left;'>Cookie</td>
1415
+ <td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73</td>
1416
+ </tr>
1417
+ </tbody>
1418
+ </table>
1419
+ <table>
1420
+ <thead>
1421
+ <tr>
1422
+ <th>Body</th>
1423
+ </tr>
1424
+ </thead>
1425
+ <tbody>
1426
+ <tr>
1427
+ <td></td>
1428
+ </tr>
1429
+ </tbody>
1430
+ </table>
1431
+ <h3>Response: 200</h3>
1432
+ <table>
1433
+ <thead>
1434
+ <tr>
1435
+ <th>Header</th>
1436
+ <th>Value</th>
1437
+ </tr>
1438
+ </thead>
1439
+ <tbody>
1440
+ <tr>
1441
+ <td style='text-align: left;'>Content-Type</td>
1442
+ <td style='text-align: left;'>application/json</td>
1443
+ </tr>
1444
+ <tr>
1445
+ <td style='text-align: left;'>Content-Length</td>
1446
+ <td style='text-align: left;'>213</td>
1447
+ </tr>
1448
+ <tr>
1449
+ <td style='text-align: left;'>Set-Cookie</td>
1450
+ <td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:14 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:14 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:14 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:14 GMT</td>
1451
+ </tr>
1452
+ </tbody>
1453
+ </table>
1454
+ <table>
1455
+ <thead>
1456
+ <tr>
1457
+ <th>Body</th>
1458
+ </tr>
1459
+ </thead>
1460
+ <tbody>
1461
+ <tr>
1462
+ <td style='text-align: left;'>[{"version":3},{"token":"41870894587516"},{"count":2},{"progress_count":0},{"total_count":2},{"insert":{"1":{"brand":"Apple","name":"iPhone","price":"199.99"},"2":{"price":"99.99","name":"G2","brand":"Android"}}}]</td>
1463
+ </tr>
1464
+ </tbody>
1465
+ </table>
1466
+ <h2 id='20'>20. metadata - send metadata</h2>
1467
+
1468
+ <h3>Request: GET /application?source_name=SampleAdapter&client_id=301a35508ed644b69b6614995c29a5f2&version=3</h3>
1469
+ <table>
1470
+ <thead>
1471
+ <tr>
1472
+ <th>Header</th>
1473
+ <th>Value</th>
1474
+ </tr>
1475
+ </thead>
1476
+ <tbody>
1477
+ <tr>
1478
+ <td style='text-align: left;'>Content-Type</td>
1479
+ <td style='text-align: left;'>&nbsp;</td>
1480
+ </tr>
1481
+ <tr>
1482
+ <td style='text-align: left;'>Content-Length</td>
1483
+ <td style='text-align: left;'>0</td>
1484
+ </tr>
1485
+ <tr>
1486
+ <td style='text-align: left;'>Cookie</td>
1487
+ <td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73</td>
1488
+ </tr>
1489
+ </tbody>
1490
+ </table>
1491
+ <table>
1492
+ <thead>
1493
+ <tr>
1494
+ <th>Body</th>
1495
+ </tr>
1496
+ </thead>
1497
+ <tbody>
1498
+ <tr>
1499
+ <td></td>
1500
+ </tr>
1501
+ </tbody>
1502
+ </table>
1503
+ <h3>Response: 200</h3>
1504
+ <table>
1505
+ <thead>
1506
+ <tr>
1507
+ <th>Header</th>
1508
+ <th>Value</th>
1509
+ </tr>
1510
+ </thead>
1511
+ <tbody>
1512
+ <tr>
1513
+ <td style='text-align: left;'>Content-Type</td>
1514
+ <td style='text-align: left;'>application/json</td>
1515
+ </tr>
1516
+ <tr>
1517
+ <td style='text-align: left;'>Content-Length</td>
1518
+ <td style='text-align: left;'>295</td>
1519
+ </tr>
1520
+ <tr>
1521
+ <td style='text-align: left;'>Set-Cookie</td>
1522
+ <td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:14 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:14 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:14 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:14 GMT</td>
1523
+ </tr>
1524
+ </tbody>
1525
+ </table>
1526
+ <table>
1527
+ <thead>
1528
+ <tr>
1529
+ <th>Body</th>
1530
+ </tr>
1531
+ </thead>
1532
+ <tbody>
1533
+ <tr>
1534
+ <td style='text-align: left;'>[{"version":3},{"token":"41870894744024"},{"count":3},{"progress_count":0},{"total_count":3},{"metadata":"{\"foo\":\"bar\"}","insert":{"1":{"price":"199.99","name":"iPhone","brand":"Apple"},"2":{"price":"99.99","brand":"Android","name":"G2"},"3":{"brand":"HTC","price":"299.99","name":"Fuze"}}}]</td>
1535
+ </tr>
1536
+ </tbody>
1537
+ </table>
1538
+ <h2 id='21'>21. delete objects - send delete objects</h2>
1539
+
1540
+ <h3>Request: GET /application?source_name=SampleAdapter&client_id=a6b94747adcf4d5fa5e0cf4bebacbfb7&token=41870894976775&version=3</h3>
1541
+ <table>
1542
+ <thead>
1543
+ <tr>
1544
+ <th>Header</th>
1545
+ <th>Value</th>
1546
+ </tr>
1547
+ </thead>
1548
+ <tbody>
1549
+ <tr>
1550
+ <td style='text-align: left;'>Content-Type</td>
1551
+ <td style='text-align: left;'>&nbsp;</td>
1552
+ </tr>
1553
+ <tr>
1554
+ <td style='text-align: left;'>Content-Length</td>
1555
+ <td style='text-align: left;'>0</td>
1556
+ </tr>
1557
+ <tr>
1558
+ <td style='text-align: left;'>Cookie</td>
1559
+ <td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73</td>
1560
+ </tr>
1561
+ </tbody>
1562
+ </table>
1563
+ <table>
1564
+ <thead>
1565
+ <tr>
1566
+ <th>Body</th>
1567
+ </tr>
1568
+ </thead>
1569
+ <tbody>
1570
+ <tr>
1571
+ <td></td>
1572
+ </tr>
1573
+ </tbody>
1574
+ </table>
1575
+ <h3>Response: 200</h3>
1576
+ <table>
1577
+ <thead>
1578
+ <tr>
1579
+ <th>Header</th>
1580
+ <th>Value</th>
1581
+ </tr>
1582
+ </thead>
1583
+ <tbody>
1584
+ <tr>
1585
+ <td style='text-align: left;'>Content-Type</td>
1586
+ <td style='text-align: left;'>application/json</td>
1587
+ </tr>
1588
+ <tr>
1589
+ <td style='text-align: left;'>Content-Length</td>
1590
+ <td style='text-align: left;'>213</td>
1591
+ </tr>
1592
+ <tr>
1593
+ <td style='text-align: left;'>Set-Cookie</td>
1594
+ <td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:15 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:15 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:15 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:15 GMT</td>
1595
+ </tr>
1596
+ </tbody>
1597
+ </table>
1598
+ <table>
1599
+ <thead>
1600
+ <tr>
1601
+ <th>Body</th>
1602
+ </tr>
1603
+ </thead>
1604
+ <tbody>
1605
+ <tr>
1606
+ <td style='text-align: left;'>[{"version":3},{"token":"41870895000510"},{"count":2},{"progress_count":0},{"total_count":0},{"delete":{"1":{"brand":"Apple","price":"199.99","name":"iPhone"},"2":{"brand":"Android","name":"G2","price":"99.99"}}}]</td>
1607
+ </tr>
1608
+ </tbody>
1609
+ </table>
1610
+ <h2 id='22'>22. insert-delete objects - send insert and delete objects</h2>
1611
+
1612
+ <h3>Request: GET /application?source_name=SampleAdapter&client_id=2d470bda168c46f98fb32073e47297b2&token=41870895242810&version=3</h3>
1613
+ <table>
1614
+ <thead>
1615
+ <tr>
1616
+ <th>Header</th>
1617
+ <th>Value</th>
1618
+ </tr>
1619
+ </thead>
1620
+ <tbody>
1621
+ <tr>
1622
+ <td style='text-align: left;'>Content-Type</td>
1623
+ <td style='text-align: left;'>&nbsp;</td>
1624
+ </tr>
1625
+ <tr>
1626
+ <td style='text-align: left;'>Content-Length</td>
1627
+ <td style='text-align: left;'>0</td>
1628
+ </tr>
1629
+ <tr>
1630
+ <td style='text-align: left;'>Cookie</td>
1631
+ <td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73</td>
1632
+ </tr>
1633
+ </tbody>
1634
+ </table>
1635
+ <table>
1636
+ <thead>
1637
+ <tr>
1638
+ <th>Body</th>
1639
+ </tr>
1640
+ </thead>
1641
+ <tbody>
1642
+ <tr>
1643
+ <td></td>
1644
+ </tr>
1645
+ </tbody>
1646
+ </table>
1647
+ <h3>Response: 200</h3>
1648
+ <table>
1649
+ <thead>
1650
+ <tr>
1651
+ <th>Header</th>
1652
+ <th>Value</th>
1653
+ </tr>
1654
+ </thead>
1655
+ <tbody>
1656
+ <tr>
1657
+ <td style='text-align: left;'>Content-Type</td>
1658
+ <td style='text-align: left;'>application/json</td>
1659
+ </tr>
1660
+ <tr>
1661
+ <td style='text-align: left;'>Content-Length</td>
1662
+ <td style='text-align: left;'>220</td>
1663
+ </tr>
1664
+ <tr>
1665
+ <td style='text-align: left;'>Set-Cookie</td>
1666
+ <td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:15 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:15 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:15 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:15 GMT</td>
1667
+ </tr>
1668
+ </tbody>
1669
+ </table>
1670
+ <table>
1671
+ <thead>
1672
+ <tr>
1673
+ <th>Body</th>
1674
+ </tr>
1675
+ </thead>
1676
+ <tbody>
1677
+ <tr>
1678
+ <td style='text-align: left;'>[{"version":3},{"token":"41870895267453"},{"count":2},{"progress_count":1},{"total_count":2},{"delete":{"2":{"price":"99.99","brand":"Android","name":"G2"}},"insert":{"3":{"price":"299.99","brand":"HTC","name":"Fuze"}}}]</td>
1679
+ </tr>
1680
+ </tbody>
1681
+ </table>
1682
+ <h2 id='23'>23. search result - send search results</h2>
1683
+
1684
+ <h3>Request: GET /application/search?search[name]=iPhone&client_id=8e1d5d177a364da3b4eadb3b607b2f93&sources[]=SampleAdapter&version=3</h3>
1685
+ <table>
1686
+ <thead>
1687
+ <tr>
1688
+ <th>Header</th>
1689
+ <th>Value</th>
1690
+ </tr>
1691
+ </thead>
1692
+ <tbody>
1693
+ <tr>
1694
+ <td style='text-align: left;'>Content-Type</td>
1695
+ <td style='text-align: left;'>&nbsp;</td>
1696
+ </tr>
1697
+ <tr>
1698
+ <td style='text-align: left;'>Content-Length</td>
1699
+ <td style='text-align: left;'>0</td>
1700
+ </tr>
1701
+ <tr>
1702
+ <td style='text-align: left;'>Cookie</td>
1703
+ <td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73</td>
1704
+ </tr>
1705
+ </tbody>
1706
+ </table>
1707
+ <table>
1708
+ <thead>
1709
+ <tr>
1710
+ <th>Body</th>
1711
+ </tr>
1712
+ </thead>
1713
+ <tbody>
1714
+ <tr>
1715
+ <td></td>
1716
+ </tr>
1717
+ </tbody>
1718
+ </table>
1719
+ <h3>Response: 200</h3>
1720
+ <table>
1721
+ <thead>
1722
+ <tr>
1723
+ <th>Header</th>
1724
+ <th>Value</th>
1725
+ </tr>
1726
+ </thead>
1727
+ <tbody>
1728
+ <tr>
1729
+ <td style='text-align: left;'>Content-Type</td>
1730
+ <td style='text-align: left;'>application/json</td>
1731
+ </tr>
1732
+ <tr>
1733
+ <td style='text-align: left;'>Content-Length</td>
1734
+ <td style='text-align: left;'>158</td>
1735
+ </tr>
1736
+ <tr>
1737
+ <td style='text-align: left;'>Set-Cookie</td>
1738
+ <td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:15 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:15 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:15 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:15 GMT</td>
1739
+ </tr>
1740
+ </tbody>
1741
+ </table>
1742
+ <table>
1743
+ <thead>
1744
+ <tr>
1745
+ <th>Body</th>
1746
+ </tr>
1747
+ </thead>
1748
+ <tbody>
1749
+ <tr>
1750
+ <td style='text-align: left;'>[[{"version":3},{"search_token":"41870895415150"},{"source":"SampleAdapter"},{"count":1},{"insert":{"1":{"name":"iPhone","price":"199.99","brand":"Apple"}}}]]</td>
1751
+ </tr>
1752
+ </tbody>
1753
+ </table>
1754
+ <h2 id='24'>24. search error - send search error</h2>
1755
+
1756
+ <h3>Request: GET /application/search?search[name]=iPhone&client_id=c28b972289e5461fa762bca7fecadc36&sources[]=SampleAdapter&version=3</h3>
1757
+ <table>
1758
+ <thead>
1759
+ <tr>
1760
+ <th>Header</th>
1761
+ <th>Value</th>
1762
+ </tr>
1763
+ </thead>
1764
+ <tbody>
1765
+ <tr>
1766
+ <td style='text-align: left;'>Content-Type</td>
1767
+ <td style='text-align: left;'>&nbsp;</td>
1768
+ </tr>
1769
+ <tr>
1770
+ <td style='text-align: left;'>Content-Length</td>
1771
+ <td style='text-align: left;'>0</td>
1772
+ </tr>
1773
+ <tr>
1774
+ <td style='text-align: left;'>Cookie</td>
1775
+ <td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73</td>
1776
+ </tr>
1777
+ </tbody>
1778
+ </table>
1779
+ <table>
1780
+ <thead>
1781
+ <tr>
1782
+ <th>Body</th>
1783
+ </tr>
1784
+ </thead>
1785
+ <tbody>
1786
+ <tr>
1787
+ <td></td>
1788
+ </tr>
1789
+ </tbody>
1790
+ </table>
1791
+ <h3>Response: 200</h3>
1792
+ <table>
1793
+ <thead>
1794
+ <tr>
1795
+ <th>Header</th>
1796
+ <th>Value</th>
1797
+ </tr>
1798
+ </thead>
1799
+ <tbody>
1800
+ <tr>
1801
+ <td style='text-align: left;'>Content-Type</td>
1802
+ <td style='text-align: left;'>application/json</td>
1803
+ </tr>
1804
+ <tr>
1805
+ <td style='text-align: left;'>Content-Length</td>
1806
+ <td style='text-align: left;'>112</td>
1807
+ </tr>
1808
+ <tr>
1809
+ <td style='text-align: left;'>Set-Cookie</td>
1810
+ <td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:15 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:15 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:15 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:15 GMT</td>
1811
+ </tr>
1812
+ </tbody>
1813
+ </table>
1814
+ <table>
1815
+ <thead>
1816
+ <tr>
1817
+ <th>Body</th>
1818
+ </tr>
1819
+ </thead>
1820
+ <tbody>
1821
+ <tr>
1822
+ <td style='text-align: left;'>[[{"version":3},{"source":"SampleAdapter"},{"search-error":{"search-error":{"message":"Error during search"}}}]]</td>
1823
+ </tr>
1824
+ </tbody>
1825
+ </table>
1826
+ <h2 id='25'>25. multi source search - send multiple sources in search results</h2>
1827
+
1828
+ <h3>Request: GET /application/search?search[search]=bar&client_id=68644f11f09c4b0996c18475cdd73340&sources[]=SimpleAdapter&sources[]=SampleAdapter&version=3</h3>
1829
+ <table>
1830
+ <thead>
1831
+ <tr>
1832
+ <th>Header</th>
1833
+ <th>Value</th>
1834
+ </tr>
1835
+ </thead>
1836
+ <tbody>
1837
+ <tr>
1838
+ <td style='text-align: left;'>Content-Type</td>
1839
+ <td style='text-align: left;'>&nbsp;</td>
1840
+ </tr>
1841
+ <tr>
1842
+ <td style='text-align: left;'>Content-Length</td>
1843
+ <td style='text-align: left;'>0</td>
1844
+ </tr>
1845
+ <tr>
1846
+ <td style='text-align: left;'>Cookie</td>
1847
+ <td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73</td>
1848
+ </tr>
1849
+ </tbody>
1850
+ </table>
1851
+ <table>
1852
+ <thead>
1853
+ <tr>
1854
+ <th>Body</th>
1855
+ </tr>
1856
+ </thead>
1857
+ <tbody>
1858
+ <tr>
1859
+ <td></td>
1860
+ </tr>
1861
+ </tbody>
1862
+ </table>
1863
+ <h3>Response: 200</h3>
1864
+ <table>
1865
+ <thead>
1866
+ <tr>
1867
+ <th>Header</th>
1868
+ <th>Value</th>
1869
+ </tr>
1870
+ </thead>
1871
+ <tbody>
1872
+ <tr>
1873
+ <td style='text-align: left;'>Content-Type</td>
1874
+ <td style='text-align: left;'>application/json</td>
1875
+ </tr>
1876
+ <tr>
1877
+ <td style='text-align: left;'>Content-Length</td>
1878
+ <td style='text-align: left;'>280</td>
1879
+ </tr>
1880
+ <tr>
1881
+ <td style='text-align: left;'>Set-Cookie</td>
1882
+ <td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:15 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:15 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:15 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOgpsb2dpbiINdGVzdHVzZXI6DWFwcF9u%0AYW1lIhBhcHBsaWNhdGlvbg%3D%3D%0A--f3dee010e07afee08de30a7f6d2a7afc3b28ca73; path=/; expires=Sat, 30-Apr-2011 22:48:15 GMT</td>
1883
+ </tr>
1884
+ </tbody>
1885
+ </table>
1886
+ <table>
1887
+ <thead>
1888
+ <tr>
1889
+ <th>Body</th>
1890
+ </tr>
1891
+ </thead>
1892
+ <tbody>
1893
+ <tr>
1894
+ <td style='text-align: left;'>[[{"version":3},{"search_token":"41870895788239"},{"source":"SimpleAdapter"},{"count":1},{"insert":{"obj":{"foo":"bar"}}}],[{"version":3},{"search_token":"41870895793456"},{"source":"SampleAdapter"},{"count":1},{"insert":{"1":{"name":"iPhone","price":"199.99","brand":"Apple"}}}]]</td>
1895
+ </tr>
1896
+ </tbody>
1897
+ </table>
1898
+ </div>
1899
+ </div>
1900
+ </body>
1901
+ </html>