App42_RUBY_SDK 0.8.2 → 0.8.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (114) hide show
  1. data/.gitignore +18 -0
  2. data/App42_RUBY_SDK.gemspec +31 -0
  3. data/Gemfile +4 -0
  4. data/LICENSE.txt +22 -0
  5. data/README.md +25 -0
  6. data/Rakefile +1 -0
  7. data/lib/App42BadParameterException.rb +31 -0
  8. data/lib/App42Exception.rb +39 -0
  9. data/lib/App42LimitException.rb +15 -0
  10. data/lib/App42NotFoundException.rb +15 -0
  11. data/lib/App42Response.rb +13 -0
  12. data/lib/App42ResponseBuilder.rb +64 -0
  13. data/lib/App42SecurityException.rb +15 -0
  14. data/lib/App42_RUBY_SDK.rb +236 -0
  15. data/lib/App42_RUBY_SDK/version.rb +3 -0
  16. data/lib/ServiceAPI.rb +246 -0
  17. data/lib/appTab/App.rb +105 -0
  18. data/lib/appTab/BandwidthUnit.rb +57 -0
  19. data/lib/appTab/Bill.rb +182 -0
  20. data/lib/appTab/BillMonth.rb +94 -0
  21. data/lib/appTab/BillResponseBuilder.rb +242 -0
  22. data/lib/appTab/BillService.rb +457 -0
  23. data/lib/appTab/Currency.rb +79 -0
  24. data/lib/appTab/DiscountResponseBuilder.rb +71 -0
  25. data/lib/appTab/DiscountService.rb +240 -0
  26. data/lib/appTab/DiscountType.rb +54 -0
  27. data/lib/appTab/License.rb +25 -0
  28. data/lib/appTab/LicenseResponseBuilder.rb +88 -0
  29. data/lib/appTab/LicenseService.rb +399 -0
  30. data/lib/appTab/PackageData.rb +83 -0
  31. data/lib/appTab/PackageResponseBuilder.rb +114 -0
  32. data/lib/appTab/PackageService.rb +506 -0
  33. data/lib/appTab/SchemeData.rb +11 -0
  34. data/lib/appTab/SchemeResponseBuilder.rb +70 -0
  35. data/lib/appTab/SchemeService.rb +151 -0
  36. data/lib/appTab/StorageUnit.rb +54 -0
  37. data/lib/appTab/SubscribeService.rb +180 -0
  38. data/lib/appTab/Test.rb +41 -0
  39. data/lib/appTab/TimeUnit.rb +49 -0
  40. data/lib/appTab/Usage.rb +206 -0
  41. data/lib/appTab/UsageResponseBuilder.rb +152 -0
  42. data/lib/appTab/UsageService.rb +1799 -0
  43. data/lib/connection/RESTConnection.rb +711 -0
  44. data/lib/email/Email.rb +51 -0
  45. data/lib/email/EmailMIME.rb +51 -0
  46. data/lib/email/EmailResponseBuilder.rb +76 -0
  47. data/lib/email/EmailService.rb +244 -0
  48. data/lib/gallery/Album.rb +56 -0
  49. data/lib/gallery/AlbumResponseBuilder.rb +168 -0
  50. data/lib/gallery/AlbumService.rb +337 -0
  51. data/lib/gallery/PhotoService.rb +591 -0
  52. data/lib/game/Game.rb +39 -0
  53. data/lib/game/GameResponseBuilder.rb +106 -0
  54. data/lib/game/GameService.rb +268 -0
  55. data/lib/game/Reward.rb +24 -0
  56. data/lib/game/RewardResponseBuilder.rb +85 -0
  57. data/lib/game/RewardService.rb +440 -0
  58. data/lib/game/ScoreBoardService.rb +433 -0
  59. data/lib/game/ScoreService.rb +157 -0
  60. data/lib/geo/Geo.rb +51 -0
  61. data/lib/geo/GeoPoint.rb +43 -0
  62. data/lib/geo/GeoResponseBuilder.rb +145 -0
  63. data/lib/geo/GeoService.rb +506 -0
  64. data/lib/imageProcessor/Image.rb +42 -0
  65. data/lib/imageProcessor/ImageProcessorResponseBuilder.rb +40 -0
  66. data/lib/imageProcessor/ImageProcessorService.rb +1054 -0
  67. data/lib/log/Log.rb +49 -0
  68. data/lib/log/LogResponseBuilder.rb +61 -0
  69. data/lib/log/LogService.rb +920 -0
  70. data/lib/message/Queue.rb +50 -0
  71. data/lib/message/QueueResponseBuilder.rb +64 -0
  72. data/lib/message/QueueService.rb +469 -0
  73. data/lib/push/DeviceType.rb +56 -0
  74. data/lib/push/PushNotification.rb +38 -0
  75. data/lib/push/PushNotificationResposneBuilder.rb +74 -0
  76. data/lib/push/PushNotificationService.rb +458 -0
  77. data/lib/recommend/PreferenceData.rb +25 -0
  78. data/lib/recommend/Recommender.rb +48 -0
  79. data/lib/recommend/RecommenderResponseBuilder.rb +70 -0
  80. data/lib/recommend/RecommenderService.rb +1092 -0
  81. data/lib/recommend/RecommenderSimilarity.rb +52 -0
  82. data/lib/review/Review.rb +38 -0
  83. data/lib/review/ReviewResponseBuilder.rb +76 -0
  84. data/lib/review/ReviewService.rb +590 -0
  85. data/lib/session/Session.rb +43 -0
  86. data/lib/session/SessionResponseBuilder.rb +70 -0
  87. data/lib/session/SessionService.rb +427 -0
  88. data/lib/shopping/Cart.rb +77 -0
  89. data/lib/shopping/CartResponseBuilder.rb +118 -0
  90. data/lib/shopping/CartService.rb +902 -0
  91. data/lib/shopping/Catalogue.rb +79 -0
  92. data/lib/shopping/CatalogueResponseBuilder.rb +170 -0
  93. data/lib/shopping/CatalogueService.rb +649 -0
  94. data/lib/shopping/ItemData.rb +29 -0
  95. data/lib/shopping/PaymentStatus.rb +60 -0
  96. data/lib/social/Social.rb +35 -0
  97. data/lib/social/SocialResponseBuilder.rb +38 -0
  98. data/lib/social/SocialService.rb +585 -0
  99. data/lib/storage/OrderByType.rb +29 -0
  100. data/lib/storage/Query.rb +39 -0
  101. data/lib/storage/QueryBuilder.rb +118 -0
  102. data/lib/storage/Storage.rb +45 -0
  103. data/lib/storage/StorageResponseBuilder.rb +86 -0
  104. data/lib/storage/StorageService.rb +775 -0
  105. data/lib/upload/Upload.rb +40 -0
  106. data/lib/upload/UploadFileType.rb +83 -0
  107. data/lib/upload/UploadResponseBuilder.rb +58 -0
  108. data/lib/upload/UploadService.rb +960 -0
  109. data/lib/user/User.rb +102 -0
  110. data/lib/user/UserResponseBuilder.rb +105 -0
  111. data/lib/user/UserService.rb +1253 -0
  112. data/lib/util/util.rb +250 -0
  113. metadata +134 -9
  114. checksums.yaml +0 -7
@@ -0,0 +1,711 @@
1
+ require "rest-client"
2
+ require 'uri'
3
+
4
+ module App42
5
+ module Connection
6
+ class RESTConnection
7
+ attr_accessor :base_url
8
+ def initialize(base_url)
9
+ puts "RESTConnection->initialize"
10
+ puts "Base url 0 #{@base_url}"
11
+ @base_url = base_url
12
+ end
13
+
14
+ #
15
+ # @param signature
16
+ # @param url
17
+ # @param params
18
+ # @return
19
+ # @throws Exception
20
+ #
21
+
22
+ def get(signature, url, params)
23
+ params.store("signature", signature)
24
+ resource = ""
25
+ resource << self.base_url()
26
+ resource << url
27
+ resource = URI.escape(resource).gsub("+", "%20")
28
+ begin
29
+ response = RestClient.get resource,:accept => 'application/json', :content_type => 'application/json', :params => params
30
+ puts response.headers
31
+ puts response.body
32
+ rescue => e
33
+ if e.response.code!=200
34
+ jsonObj = nil
35
+ begin
36
+ jsonObj = JSON.parse(e.response)
37
+ rescue => e
38
+ raise App42Exception.new(jsonObj['app42Fault']['details'], e.response.code,jsonObj['app42Fault']['appErrorCode'])
39
+ end
40
+ end
41
+ if e.response.code == 404
42
+ raise App42NotFoundException.new(jsonObj['app42Fault']['details'], e.response.code,jsonObj['app42Fault']['appErrorCode'])
43
+ elsif e.response.code == 400
44
+ raise App42BadParameterException.new(jsonObj['app42Fault']['details'], e.response.code,jsonObj['app42Fault']['appErrorCode'])
45
+ elsif e.response.code == 401
46
+ raise App42SecurityException.new(jsonObj['app42Fault']['details'], e.response.code,jsonObj['app42Fault']['appErrorCode'])
47
+ elsif e.response.code == 413
48
+ raise App42LimitException.new(jsonObj['app42Fault']['details'], e.response.code,1413)
49
+ elsif e.response.code == 500
50
+ raise App42Exception.new(jsonObj['app42Fault']['details'], e.response.code,jsonObj['app42Fault']['appErrorCode'])
51
+ else
52
+ raise App42Exception.new("We are sorry something has gone wrong on our side", 500, 1500);
53
+ end
54
+ end
55
+ return response
56
+ end
57
+
58
+ #
59
+ # @param signature
60
+ # @param url
61
+ # @param params
62
+ # @param bodyPayload
63
+ # @return
64
+ # @throws IOException
65
+ # @throws ClientProtocolException
66
+ #
67
+
68
+ def post(signature, url, params, body)
69
+ params.store("signature", signature)
70
+ resource = ""
71
+ resource << self.base_url()
72
+ resource << url
73
+ resource = URI.escape(resource).gsub("+", "%20")
74
+ begin
75
+ response = RestClient.post resource, body,:accept => 'application/json',:content_type => 'application/json', :params => params
76
+ puts response.code
77
+ puts response.to_str
78
+ rescue => e
79
+ puts e
80
+ if e.response.code!=200
81
+ jsonObj = nil
82
+ begin
83
+ jsonObj = JSON.parse(e.response)
84
+ rescue => e
85
+ raise App42Exception.new(jsonObj['app42Fault']['details'], e.response.code,jsonObj['app42Fault']['appErrorCode'])
86
+ end
87
+ end
88
+
89
+ if e.response.code == 404
90
+ raise App42NotFoundException.new(jsonObj['app42Fault']['details'], e.response.code,jsonObj['app42Fault']['appErrorCode'])
91
+ elsif e.response.code == 400
92
+ raise App42BadParameterException.new(jsonObj['app42Fault']['details'], e.response.code,jsonObj['app42Fault']['appErrorCode'])
93
+ elsif e.response.code == 401
94
+ raise App42SecurityException.new(jsonObj['app42Fault']['details'], e.response.code,jsonObj['app42Fault']['appErrorCode'])
95
+ elsif e.response.code == 413
96
+ raise App42LimitException.new(jsonObj['app42Fault']['details'], e.response.code,1413)
97
+ elsif e.response.code == 500
98
+ raise App42Exception.new(jsonObj['app42Fault']['details'], e.response.code,jsonObj['app42Fault']['appErrorCode'])
99
+ else
100
+ raise App42Exception.new("We are sorry something has gone wrong on our side", 500, 1500);
101
+ end
102
+ end
103
+ return response
104
+ end
105
+
106
+ #
107
+ # @param signature
108
+ # @param url
109
+ # @param params
110
+ # @param bodyPayload
111
+ # @return
112
+ # @throws IOException
113
+ # @throws ClientProtocolException
114
+ #
115
+
116
+ def put(signature, url, params, body)
117
+ params.store("signature", signature)
118
+ resource = ""
119
+ resource << self.base_url()
120
+ resource << url
121
+ resource = URI.escape(resource).gsub("+", "%20")
122
+ begin
123
+ response = RestClient.put resource, body,:accept => 'application/json', :content_type => 'application/json', :params => params
124
+ puts response.code
125
+ puts response.to_str
126
+ rescue => e
127
+ if e.response.code!=200
128
+ jsonObj = JSON.parse(e.response) rescue nil
129
+ end
130
+
131
+ if e.response.code == 404
132
+ raise App42NotFoundException.new(jsonObj['app42Fault']['details'], e.response.code,jsonObj['app42Fault']['appErrorCode'])
133
+ elsif e.response.code == 400
134
+ raise App42BadParameterException.new(jsonObj['app42Fault']['details'], e.response.code,jsonObj['app42Fault']['appErrorCode'])
135
+ elsif e.response.code == 401
136
+ raise App42SecurityException.new(jsonObj['app42Fault']['details'], e.response.code,jsonObj['app42Fault']['appErrorCode'])
137
+ elsif e.response.code == 413
138
+ raise App42LimitException.new(jsonObj['app42Fault']['details'], e.response.code,1413)
139
+ elsif e.response.code == 500
140
+ raise App42Exception.new(jsonObj['app42Fault']['details'], e.response.code,jsonObj['app42Fault']['appErrorCode'])
141
+ else
142
+ raise App42Exception.new("We are sorry something has gone wrong on our side", 500, 1500);
143
+ end
144
+ end
145
+ return response
146
+ end
147
+
148
+ #
149
+ # @param signature
150
+ # @param url
151
+ # @param params
152
+ # @return
153
+ # @throws IOException
154
+ # @throws ClientProtocolException
155
+ #
156
+
157
+ def delete(signature, url, params)
158
+ params.store("signature", signature)
159
+ resource = ""
160
+ resource << self.base_url()
161
+ resource << url
162
+ resource = URI.escape(resource).gsub("+", "%20")
163
+ begin
164
+ response = RestClient.delete resource, :accept => 'application/json', :content_type => 'application/json', :params => params
165
+ puts response.code
166
+ puts response.to_str
167
+ rescue => e
168
+ if e.response.code!=200
169
+ jsonObj = nil
170
+ begin
171
+ jsonObj = JSON.parse(e.response)
172
+ rescue => e
173
+ raise App42Exception.new(jsonObj['app42Fault']['details'], e.response.code,jsonObj['app42Fault']['appErrorCode'])
174
+ end
175
+ end
176
+
177
+ if e.response.code == 404
178
+ raise App42NotFoundException.new(jsonObj['app42Fault']['details'], e.response.code,jsonObj['app42Fault']['appErrorCode'])
179
+ elsif e.response.code == 400
180
+ raise App42BadParameterException.new(jsonObj['app42Fault']['details'], e.response.code,jsonObj['app42Fault']['appErrorCode'])
181
+ elsif e.response.code == 401
182
+ raise App42SecurityException.new(jsonObj['app42Fault']['details'], e.response.code,jsonObj['app42Fault']['appErrorCode'])
183
+ elsif e.response.code == 413
184
+ raise App42LimitException.new(jsonObj['app42Fault']['details'], e.response.code,1413)
185
+ elsif e.response.code == 500
186
+ raise App42Exception.new(jsonObj['app42Fault']['details'], e.response.code,jsonObj['app42Fault']['appErrorCode'])
187
+ else
188
+ raise App42Exception.new("We are sorry something has gone wrong on our side", 500, 1500);
189
+ end
190
+ end
191
+ return response
192
+ end
193
+
194
+ # MULTIPART for upload api
195
+ #
196
+ # @param signature
197
+ # @param url
198
+ # @param params
199
+ # @param post_params
200
+ # @ filePath
201
+ # @return
202
+ # @throws IOException
203
+ # @throws ClientProtocolException
204
+ #
205
+
206
+ def multipart(signature, url, params, post_params, filePath)
207
+ params.store("signature", signature)
208
+ resource = ""
209
+ resource << self.base_url()
210
+ resource << url
211
+ resource = URI.escape(resource).gsub("+", "%20")
212
+ puts "Connection to URL #{resource}"
213
+ begin
214
+ response = RestClient.post( resource,
215
+ {
216
+ :uploadFile => File.open(filePath, "rb"),
217
+ :name =>post_params['name'],
218
+ :type =>post_params['type'],
219
+ :userName =>post_params['userName'],
220
+ :description =>post_params['description']
221
+ },
222
+ :accept => 'application/json',
223
+ :content_type => 'application/json',
224
+ :params =>params
225
+ )
226
+ puts response.code
227
+ puts response.to_str
228
+
229
+ rescue => e
230
+ puts e
231
+ if e.response.code!=200
232
+ jsonObj = JSON.parse(e.response)
233
+ end
234
+
235
+ if e.response.code == 404
236
+ raise App42NotFoundException.new(jsonObj['app42Fault']['details'], e.response.code,jsonObj['app42Fault']['appErrorCode'])
237
+ elsif e.response.code == 400
238
+ raise App42BadParameterException.new(jsonObj['app42Fault']['details'], e.response.code,jsonObj['app42Fault']['appErrorCode'])
239
+ elsif e.response.code == 401
240
+ raise App42SecurityException.new(jsonObj['app42Fault']['details'], e.response.code,jsonObj['app42Fault']['appErrorCode'])
241
+ elsif e.response.code == 413
242
+ raise App42LimitException.new(jsonObj['app42Fault']['details'], e.response.code,1413)
243
+ elsif e.response.code == 500
244
+ raise App42Exception.new(jsonObj['app42Fault']['details'], e.response.code,jsonObj['app42Fault']['appErrorCode'])
245
+ else
246
+ raise App42Exception.new("We are sorry something has gone wrong on our side", 500, 1500);
247
+ end
248
+
249
+ end
250
+ return response
251
+ end
252
+
253
+ # MULTIPART for upload api via Stream
254
+ #
255
+ # @param signature
256
+ # @param url
257
+ # @param params
258
+ # @param post_params
259
+ # @ filePath
260
+ # @return
261
+ # @throws IOException
262
+ # @throws ClientProtocolException
263
+ #
264
+
265
+ def multipartStream(signature, url, params, post_params, inputStream)
266
+ params.store("signature", signature)
267
+ resource = ""
268
+ resource << self.base_url()
269
+ resource << url
270
+ resource = URI.escape(resource).gsub("+", "%20")
271
+ puts "Connection to URL #{resource}"
272
+ begin
273
+ response = RestClient.post( resource,
274
+ {
275
+ :uploadFile => inputStream,
276
+ :name =>post_params['name'],
277
+ :type =>post_params['type'],
278
+ :userName =>post_params['userName'],
279
+ :description =>post_params['description']
280
+ },
281
+ :accept => 'application/json',
282
+ :content_type => 'application/json',
283
+ :params =>params
284
+ )
285
+ puts response.code
286
+ puts response.to_str
287
+ rescue => e
288
+ puts e
289
+ if e.response.code!=200
290
+ jsonObj = JSON.parse(e.response)
291
+ end
292
+ if e.response.code == 404
293
+ raise App42NotFoundException.new(jsonObj['app42Fault']['details'], e.response.code,jsonObj['app42Fault']['appErrorCode'])
294
+ elsif e.response.code == 400
295
+ raise App42BadParameterException.new(jsonObj['app42Fault']['details'], e.response.code,jsonObj['app42Fault']['appErrorCode'])
296
+ elsif e.response.code == 401
297
+ raise App42SecurityException.new(jsonObj['app42Fault']['details'], e.response.code,jsonObj['app42Fault']['appErrorCode'])
298
+ elsif e.response.code == 413
299
+ raise App42LimitException.new(jsonObj['app42Fault']['details'], e.response.code,1413)
300
+ elsif e.response.code == 500
301
+ raise App42Exception.new(jsonObj['app42Fault']['details'], e.response.code,jsonObj['app42Fault']['appErrorCode'])
302
+ else
303
+ raise App42Exception.new("We are sorry something has gone wrong on our side", 500, 1500);
304
+ end
305
+ end
306
+ return response
307
+ end
308
+
309
+ # MULTIPART for gallery api
310
+ #
311
+ # @param signature
312
+ # @param url
313
+ # @param params
314
+ # @param post_params
315
+ # @ filePath
316
+ # @return
317
+ # @throws IOException
318
+ # @throws ClientProtocolException
319
+ #
320
+
321
+ def photoMultipart(signature, url, params, post_params, filePath)
322
+ params.store("signature", signature)
323
+ resource = ""
324
+ resource << self.base_url()
325
+ resource << url
326
+ resource = URI.escape(resource).gsub("+", "%20")
327
+ puts "Connection to URL #{resource}"
328
+ begin
329
+ response = RestClient.post( resource,
330
+ {
331
+ :imageFile => File.open(filePath, "rb"),
332
+ :albumName =>post_params['albumName'],
333
+ :name =>post_params['name'],
334
+ :description =>post_params['description']
335
+ },
336
+ :accept => 'application/json',
337
+ :content_type => 'application/json',
338
+ :params =>params
339
+ )
340
+ puts response.code
341
+ puts response.to_str
342
+ rescue => e
343
+ if e.response.code!=200
344
+ jsonObj = JSON.parse(e.response)
345
+ end
346
+ if e.response.code == 404
347
+ raise App42NotFoundException.new(jsonObj['app42Fault']['details'], e.response.code,jsonObj['app42Fault']['appErrorCode'])
348
+ elsif e.response.code == 400
349
+ raise App42BadParameterException.new(jsonObj['app42Fault']['details'], e.response.code,jsonObj['app42Fault']['appErrorCode'])
350
+ elsif e.response.code == 401
351
+ raise App42SecurityException.new(jsonObj['app42Fault']['details'], e.response.code,jsonObj['app42Fault']['appErrorCode'])
352
+ elsif e.response.code == 413
353
+ raise App42LimitException.new(jsonObj['app42Fault']['details'], e.response.code,1413)
354
+ elsif e.response.code == 500
355
+ raise App42Exception.new(jsonObj['app42Fault']['details'], e.response.code,jsonObj['app42Fault']['appErrorCode'])
356
+ else
357
+ raise App42Exception.new("We are sorry something has gone wrong on our side", 500, 1500);
358
+ end
359
+ end
360
+ return response
361
+ end
362
+
363
+ # MULTIPART for gallery api via Stream
364
+ #
365
+ # @param signature
366
+ # @param url
367
+ # @param params
368
+ # @param post_params
369
+ # @ filePath
370
+ # @return
371
+ # @throws IOException
372
+ # @throws ClientProtocolException
373
+ #
374
+
375
+ def photoMultipartStream(signature, url, params, post_params, filePath)
376
+ params.store("signature", signature)
377
+ resource = ""
378
+ resource << self.base_url()
379
+ resource << url
380
+ resource = URI.escape(resource).gsub("+", "%20")
381
+ puts "Connection to URL #{resource}"
382
+ begin
383
+ response = RestClient.post( resource,
384
+ {
385
+ :imageFile => filePath,
386
+ :albumName =>post_params['albumName'],
387
+ :name =>post_params['name'],
388
+ :description =>post_params['description']
389
+ },
390
+ :accept => 'application/json',
391
+ :content_type => 'application/json',
392
+ :params =>params
393
+ )
394
+ puts response.code
395
+ puts response.to_str
396
+ rescue => e
397
+ if e.response.code!=200
398
+ jsonObj = JSON.parse(e.response)
399
+ end
400
+ if e.response.code == 404
401
+ raise App42NotFoundException.new(jsonObj['app42Fault']['details'], e.response.code,jsonObj['app42Fault']['appErrorCode'])
402
+ elsif e.response.code == 400
403
+ raise App42BadParameterException.new(jsonObj['app42Fault']['details'], e.response.code,jsonObj['app42Fault']['appErrorCode'])
404
+ elsif e.response.code == 401
405
+ raise App42SecurityException.new(jsonObj['app42Fault']['details'], e.response.code,jsonObj['app42Fault']['appErrorCode'])
406
+ elsif e.response.code == 413
407
+ raise App42LimitException.new(jsonObj['app42Fault']['details'], e.response.code,1413)
408
+ elsif e.response.code == 500
409
+ raise App42Exception.new(jsonObj['app42Fault']['details'], e.response.code,jsonObj['app42Fault']['appErrorCode'])
410
+ else
411
+ raise App42Exception.new("We are sorry something has gone wrong on our side", 500, 1500);
412
+ end
413
+ end
414
+ return response
415
+ end
416
+
417
+ # MULTIPART for Image Processor api
418
+ #
419
+ # @param signature
420
+ # @param url
421
+ # @param params
422
+ # @param post_params
423
+ # @ filePath
424
+ # @return
425
+ # @throws IOException
426
+ # @throws ClientProtocolException
427
+ #
428
+
429
+ def imageMultipart(signature, url, params, post_params, imagePath)
430
+ params.store("signature", signature)
431
+ resource = ""
432
+ resource << self.base_url()
433
+ resource << url
434
+ resource = URI.escape(resource).gsub("+", "%20")
435
+ puts "Connection to URL #{resource}"
436
+ begin
437
+ response = RestClient.post( resource,
438
+ {
439
+ :imageFile => File.open(imagePath, "rb"),
440
+ :name =>post_params['name'],
441
+ :width =>post_params['width'],
442
+ :height =>post_params['height'],
443
+ :formatToConvert =>post_params['formatToConvert'],
444
+ :percentage =>post_params['percentage'],
445
+ :x =>post_params['x'],
446
+ :y =>post_params['y'],
447
+ },
448
+ :accept => 'application/json',
449
+ :content_type => 'application/json',
450
+ :params =>params
451
+ )
452
+ puts response.code
453
+ puts response.to_str
454
+ rescue => e
455
+ puts "e-----#{e}"
456
+ if e.response.code!=200
457
+ jsonObj =JSON.parse(e.response)
458
+ end
459
+ if e.response.code == 404
460
+ raise App42NotFoundException.new(jsonObj['app42Fault']['details'], e.response.code,jsonObj['app42Fault']['appErrorCode'])
461
+ elsif e.response.code == 400
462
+ raise App42BadParameterException.new(jsonObj['app42Fault']['details'], e.response.code,jsonObj['app42Fault']['appErrorCode'])
463
+ elsif e.response.code == 401
464
+ raise App42SecurityException.new(jsonObj['app42Fault']['details'], e.response.code,jsonObj['app42Fault']['appErrorCode'])
465
+ elsif e.response.code == 413
466
+ raise App42LimitException.new(jsonObj['app42Fault']['details'], e.response.code,1413)
467
+ elsif e.response.code == 500
468
+ raise App42Exception.new(jsonObj['app42Fault']['details'], e.response.code,jsonObj['app42Fault']['appErrorCode'])
469
+ else
470
+ raise App42Exception.new("We are sorry something has gone wrong on our side", 500, 1500);
471
+ end
472
+ end
473
+ return response
474
+ end
475
+
476
+ # MULTIPART for Image Processor api
477
+ #
478
+ # @param signature
479
+ # @param url
480
+ # @param params
481
+ # @param post_params
482
+ # @ filePath
483
+ # @return
484
+ # @throws IOException
485
+ # @throws ClientProtocolException
486
+ #
487
+
488
+ def imageMultipartStream(signature, url, params, post_params, imagePath)
489
+ params.store("signature", signature)
490
+ resource = ""
491
+ resource << self.base_url()
492
+ resource << url
493
+ resource = URI.escape(resource).gsub("+", "%20")
494
+ puts "Connection to URL #{resource}"
495
+ begin
496
+ response = RestClient.post( resource,
497
+ {
498
+ :imageFile => imagePath,
499
+ :name =>post_params['name'],
500
+ :width =>post_params['width'],
501
+ :height =>post_params['height'],
502
+ :formatToConvert =>post_params['formatToConvert'],
503
+ :percentage =>post_params['percentage'],
504
+ :x =>post_params['x'],
505
+ :y =>post_params['y'],
506
+ },
507
+ :accept => 'application/json',
508
+ :content_type => 'application/json',
509
+ :params =>params
510
+ )
511
+ puts response.code
512
+ puts response.to_str
513
+
514
+ rescue => e
515
+ puts "e-----#{e}"
516
+ if e.response.code!=200
517
+ jsonObj =JSON.parse(e.response)
518
+ end
519
+
520
+ if e.response.code == 404
521
+ raise App42NotFoundException.new(jsonObj['app42Fault']['details'], e.response.code,jsonObj['app42Fault']['appErrorCode'])
522
+ elsif e.response.code == 400
523
+ raise App42BadParameterException.new(jsonObj['app42Fault']['details'], e.response.code,jsonObj['app42Fault']['appErrorCode'])
524
+ elsif e.response.code == 401
525
+ raise App42SecurityException.new(jsonObj['app42Fault']['details'], e.response.code,jsonObj['app42Fault']['appErrorCode'])
526
+ elsif e.response.code == 413
527
+ raise App42LimitException.new(jsonObj['app42Fault']['details'], e.response.code,1413)
528
+ elsif e.response.code == 500
529
+ raise App42Exception.new(jsonObj['app42Fault']['details'], e.response.code,jsonObj['app42Fault']['appErrorCode'])
530
+ else
531
+ raise App42Exception.new("We are sorry something has gone wrong on our side", 500, 1500);
532
+ end
533
+ end
534
+ return response
535
+ end
536
+
537
+ # MULTIPART for catalogue api
538
+ #
539
+ # @param signature
540
+ # @param url
541
+ # @param params
542
+ # @param post_params
543
+ # @ filePath
544
+ # @return
545
+ # @throws IOException
546
+ # @throws ClientProtocolException
547
+ #
548
+
549
+ def shopMultipart(signature, url, params, post_params, imageFile)
550
+ params.store("signature", signature)
551
+ resource = ""
552
+ resource << self.base_url()
553
+ resource << url
554
+ resource = URI.escape(resource).gsub("+", "%20")
555
+ puts "Connection to URL #{resource}"
556
+ begin
557
+ response = RestClient.post( resource,
558
+ {
559
+ :imageFile => imageFile,
560
+ :itemId =>post_params['itemId'],
561
+ :name =>post_params['name'],
562
+ :description =>post_params['description'],
563
+ :price =>post_params['price'],
564
+ },
565
+ :accept => 'application/json',
566
+ :content_type => 'application/json',
567
+ :params =>params
568
+ )
569
+ puts response.code
570
+ puts response.to_str
571
+
572
+ rescue => e
573
+ puts "e-----#{e}"
574
+ if e.response.code!=200
575
+ jsonObj =JSON.parse(e.response)
576
+ end
577
+
578
+ if e.response.code == 404
579
+ raise App42NotFoundException.new(jsonObj['app42Fault']['details'], e.response.code,jsonObj['app42Fault']['appErrorCode'])
580
+ elsif e.response.code == 400
581
+ raise App42BadParameterException.new(jsonObj['app42Fault']['details'], e.response.code,jsonObj['app42Fault']['appErrorCode'])
582
+ elsif e.response.code == 401
583
+ raise App42SecurityException.new(jsonObj['app42Fault']['details'], e.response.code,jsonObj['app42Fault']['appErrorCode'])
584
+ elsif e.response.code == 413
585
+ raise App42LimitException.new(jsonObj['app42Fault']['details'], e.response.code,1413)
586
+ elsif e.response.code == 500
587
+ raise App42Exception.new(jsonObj['app42Fault']['details'], e.response.code,jsonObj['app42Fault']['appErrorCode'])
588
+ else
589
+ raise App42Exception.new("We are sorry something has gone wrong on our side", 500, 1500);
590
+ end
591
+ end
592
+ return response
593
+ end
594
+
595
+ # MULTIPART for Recommended api
596
+ #
597
+ # @param signature
598
+ # @param url
599
+ # @param params
600
+ # @param post_params
601
+ # @ filePath
602
+ # @return
603
+ # @throws IOException
604
+ # @throws ClientProtocolException
605
+ #
606
+
607
+ def recommendMultipart(signature, url, params, post_params, preferenceFile)
608
+ params.store("signature", signature)
609
+ resource = ""
610
+ resource << self.base_url()
611
+ resource << url
612
+ resource = URI.escape(resource).gsub("+", "%20")
613
+ puts "Connection to URL #{resource}"
614
+ begin
615
+ response = RestClient.post( resource,
616
+ {
617
+ :preferenceFile => File.open(preferenceFile, "rb"),
618
+ :name =>post_params['name'],
619
+ :preferenceFilePath =>post_params['preferenceFilePath'],
620
+ :description =>post_params['description']
621
+ },
622
+ :accept => 'application/json',
623
+ :content_type => 'application/json',
624
+ :params =>params
625
+ )
626
+ puts response.code
627
+ puts response.to_str
628
+
629
+ rescue => e
630
+ puts "e-----#{e}"
631
+ if e.response.code!=200
632
+ jsonObj =JSON.parse(e.response)
633
+ end
634
+
635
+ if e.response.code == 404
636
+ raise App42NotFoundException.new(jsonObj['app42Fault']['details'], e.response.code,jsonObj['app42Fault']['appErrorCode'])
637
+ elsif e.response.code == 400
638
+ raise App42BadParameterException.new(jsonObj['app42Fault']['details'], e.response.code,jsonObj['app42Fault']['appErrorCode'])
639
+ elsif e.response.code == 401
640
+ raise App42SecurityException.new(jsonObj['app42Fault']['details'], e.response.code,jsonObj['app42Fault']['appErrorCode'])
641
+ elsif e.response.code == 413
642
+ raise App42LimitException.new(jsonObj['app42Fault']['details'], e.response.code,1413)
643
+ elsif e.response.code == 500
644
+ raise App42Exception.new(jsonObj['app42Fault']['details'], e.response.code,jsonObj['app42Fault']['appErrorCode'])
645
+ else
646
+ raise App42Exception.new("We are sorry something has gone wrong on our side", 500, 1500);
647
+ end
648
+ end
649
+ return response
650
+ end
651
+
652
+ # MULTIPART for Recommended api via Stream
653
+ #
654
+ # @param signature
655
+ # @param url
656
+ # @param params
657
+ # @param post_params
658
+ # @ filePath
659
+ # @return
660
+ # @throws IOException
661
+ # @throws ClientProtocolException
662
+ #
663
+
664
+ def recommendMultipartStream(signature, url, params, post_params, inputStream)
665
+ params.store("signature", signature)
666
+ resource = ""
667
+ resource << self.base_url()
668
+ resource << url
669
+ resource = URI.escape(resource).gsub("+", "%20")
670
+ puts "Connection to URL #{resource}"
671
+ begin
672
+ response = RestClient.post( resource,
673
+ {
674
+ :preferenceFile => inputStream,
675
+ :name =>post_params['name'],
676
+ :preferenceFilePath =>post_params['preferenceFilePath'],
677
+ :description =>post_params['description']
678
+ },
679
+ :accept => 'application/json',
680
+ :content_type => 'application/json',
681
+ :params =>params
682
+ )
683
+ puts response.code
684
+ puts response.to_str
685
+
686
+ rescue => e
687
+ puts "e-----#{e}"
688
+ if e.response.code!=200
689
+ jsonObj =JSON.parse(e.response)
690
+ end
691
+
692
+ if e.response.code == 404
693
+ raise App42NotFoundException.new(jsonObj['app42Fault']['details'], e.response.code,jsonObj['app42Fault']['appErrorCode'])
694
+ elsif e.response.code == 400
695
+ raise App42BadParameterException.new(jsonObj['app42Fault']['details'], e.response.code,jsonObj['app42Fault']['appErrorCode'])
696
+ elsif e.response.code == 401
697
+ raise App42SecurityException.new(jsonObj['app42Fault']['details'], e.response.code,jsonObj['app42Fault']['appErrorCode'])
698
+ elsif e.response.code == 413
699
+ raise App42LimitException.new(jsonObj['app42Fault']['details'], e.response.code,1413)
700
+ elsif e.response.code == 500
701
+ raise App42Exception.new(jsonObj['app42Fault']['details'], e.response.code,jsonObj['app42Fault']['appErrorCode'])
702
+ else
703
+ raise App42Exception.new("We are sorry something has gone wrong on our side", 500, 1500);
704
+ end
705
+ end
706
+ return response
707
+ end
708
+
709
+ end
710
+ end
711
+ end