App42_Ruby_API 0.8.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +21 -0
  3. data/App42_Ruby_API.gemspec +33 -0
  4. data/Gemfile +3 -0
  5. data/LICENSE.txt +22 -0
  6. data/README.md +29 -0
  7. data/Rakefile +1 -0
  8. data/TODO.rb +3 -0
  9. data/lib/App42_Ruby_API.rb +232 -0
  10. data/lib/App42_Ruby_API/App42BadParameterException.rb +31 -0
  11. data/lib/App42_Ruby_API/App42Exception.rb +39 -0
  12. data/lib/App42_Ruby_API/App42LimitException.rb +15 -0
  13. data/lib/App42_Ruby_API/App42NotFoundException.rb +15 -0
  14. data/lib/App42_Ruby_API/App42Response.rb +13 -0
  15. data/lib/App42_Ruby_API/App42ResponseBuilder.rb +67 -0
  16. data/lib/App42_Ruby_API/App42SecurityException.rb +15 -0
  17. data/lib/App42_Ruby_API/version.rb +3 -0
  18. data/lib/connection/RESTConnection.rb +713 -0
  19. data/lib/email/Email.rb +51 -0
  20. data/lib/email/EmailMIME.rb +51 -0
  21. data/lib/email/EmailResponseBuilder.rb +76 -0
  22. data/lib/email/EmailService.rb +244 -0
  23. data/lib/gallery/Album.rb +56 -0
  24. data/lib/gallery/AlbumResponseBuilder.rb +168 -0
  25. data/lib/gallery/AlbumService.rb +337 -0
  26. data/lib/gallery/PhotoService.rb +591 -0
  27. data/lib/game/Game.rb +39 -0
  28. data/lib/game/GameResponseBuilder.rb +106 -0
  29. data/lib/game/GameService.rb +268 -0
  30. data/lib/game/Reward.rb +24 -0
  31. data/lib/game/RewardResponseBuilder.rb +85 -0
  32. data/lib/game/RewardService.rb +440 -0
  33. data/lib/game/ScoreBoardService.rb +433 -0
  34. data/lib/game/ScoreService.rb +157 -0
  35. data/lib/geo/Geo.rb +51 -0
  36. data/lib/geo/GeoPoint.rb +43 -0
  37. data/lib/geo/GeoResponseBuilder.rb +145 -0
  38. data/lib/geo/GeoService.rb +505 -0
  39. data/lib/imageProcessor/Image.rb +42 -0
  40. data/lib/imageProcessor/ImageProcessorResponseBuilder.rb +40 -0
  41. data/lib/imageProcessor/ImageProcessorService.rb +1054 -0
  42. data/lib/log/Log.rb +49 -0
  43. data/lib/log/LogResponseBuilder.rb +61 -0
  44. data/lib/log/LogService.rb +920 -0
  45. data/lib/message/Queue.rb +50 -0
  46. data/lib/message/QueueResponseBuilder.rb +64 -0
  47. data/lib/message/QueueService.rb +469 -0
  48. data/lib/push/DeviceType.rb +56 -0
  49. data/lib/push/PushNotification.rb +38 -0
  50. data/lib/push/PushNotificationResposneBuilder.rb +74 -0
  51. data/lib/push/PushNotificationService.rb +458 -0
  52. data/lib/recommend/PreferenceData.rb +25 -0
  53. data/lib/recommend/Recommender.rb +48 -0
  54. data/lib/recommend/RecommenderResponseBuilder.rb +70 -0
  55. data/lib/recommend/RecommenderService.rb +1092 -0
  56. data/lib/recommend/RecommenderSimilarity.rb +52 -0
  57. data/lib/review/Review.rb +38 -0
  58. data/lib/review/ReviewResponseBuilder.rb +76 -0
  59. data/lib/review/ReviewService.rb +590 -0
  60. data/lib/session/Session.rb +43 -0
  61. data/lib/session/SessionResponseBuilder.rb +70 -0
  62. data/lib/session/SessionService.rb +427 -0
  63. data/lib/shopping/Cart.rb +77 -0
  64. data/lib/shopping/CartResponseBuilder.rb +118 -0
  65. data/lib/shopping/CartService.rb +902 -0
  66. data/lib/shopping/Catalogue.rb +79 -0
  67. data/lib/shopping/CatalogueResponseBuilder.rb +170 -0
  68. data/lib/shopping/CatalogueService.rb +649 -0
  69. data/lib/shopping/ItemData.rb +29 -0
  70. data/lib/shopping/PaymentStatus.rb +60 -0
  71. data/lib/social/Social.rb +35 -0
  72. data/lib/social/SocialResponseBuilder.rb +38 -0
  73. data/lib/social/SocialService.rb +585 -0
  74. data/lib/storage/OrderByType.rb +29 -0
  75. data/lib/storage/Query.rb +39 -0
  76. data/lib/storage/QueryBuilder.rb +118 -0
  77. data/lib/storage/Storage.rb +45 -0
  78. data/lib/storage/StorageResponseBuilder.rb +86 -0
  79. data/lib/storage/StorageService.rb +775 -0
  80. data/lib/upload/Upload.rb +40 -0
  81. data/lib/upload/UploadFileType.rb +83 -0
  82. data/lib/upload/UploadResponseBuilder.rb +58 -0
  83. data/lib/upload/UploadService.rb +960 -0
  84. data/lib/user/User.rb +102 -0
  85. data/lib/user/UserResponseBuilder.rb +105 -0
  86. data/lib/user/UserService.rb +1209 -0
  87. data/lib/util/util.rb +244 -0
  88. data/question.rb +79 -0
  89. metadata +204 -0
@@ -0,0 +1,50 @@
1
+ # -----------------------------------------------------------------------
2
+ # Copyright © 2012 ShepHertz Technologies Pvt Ltd. All rights reserved.
3
+ # -----------------------------------------------------------------------
4
+
5
+ require 'App42_Ruby_API/App42Response'
6
+
7
+ #
8
+ #
9
+ # This Queue object is the value object which contains the properties of Queue
10
+ # along with the setter & getter for those properties.
11
+ #
12
+ #
13
+
14
+ module App42
15
+ module Message
16
+ class Queue < App42Response
17
+ attr_accessor :messageList,:queueName,:queueType,:description
18
+ @messageList = Array.new
19
+ @queueName
20
+ @queueType
21
+ @description
22
+ end
23
+
24
+ class Message
25
+ attr_accessor :correlationId,:payLoad,:messageId
26
+
27
+ #
28
+ # This is a constructor that takes no parameter
29
+ #
30
+ def initialize(queue)
31
+ queue.messageList.push(self);
32
+ end
33
+ @correlationId
34
+ @payLoad
35
+ @messageId
36
+
37
+ #
38
+ # Returns the Queue Response in JSON format.
39
+ #
40
+ # @return the response in JSON format.
41
+ #
42
+ #
43
+
44
+ def to_s
45
+ return "correlationId : #{@correlationId}" + "payLoad : #{@payLoad}" + "messageId : #{@messageId}" ;
46
+ end
47
+
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,64 @@
1
+ # -----------------------------------------------------------------------
2
+ # Copyright © 2012 ShepHertz Technologies Pvt Ltd. All rights reserved.
3
+ # -----------------------------------------------------------------------
4
+
5
+ require 'json/pure'
6
+ require 'App42_Ruby_API/App42ResponseBuilder'
7
+ require 'message/Queue'
8
+
9
+ module App42
10
+ module Message
11
+
12
+ #
13
+ #
14
+ # QueueResponseBuilder class converts the JSON response retrieved from the
15
+ # server to the value object i.e Queue
16
+ #
17
+ #
18
+ class QueueResponseBuilder < App42ResponseBuilder
19
+
20
+ #
21
+ # Converts the response in JSON format to the value object i.e Queue
22
+ #
23
+ # @param json
24
+ # - response in JSON format
25
+ #
26
+ # @return Queue object filled with json data
27
+ #
28
+ #
29
+ def buildResponse(json)
30
+ puts "testing #{json}"
31
+ queuesJSONObj = getServiceJSONObject("queues", json)
32
+ queueJSONObj = queuesJSONObj["queue"]
33
+ queueObj = Queue.new()
34
+
35
+ messageList = Array.new
36
+ queueObj.messageList=(messageList)
37
+
38
+ queueObj.strResponse=json
39
+ queueObj.isResponseSuccess= isResponseSuccess(json)
40
+ buildObjectFromJSONTree(queueObj, queueJSONObj);
41
+
42
+ if queueJSONObj.key?("messages") == false
43
+ return queueObj
44
+ end
45
+ if queueJSONObj.fetch("messages").key?("message") == false
46
+ return queueObj
47
+ end
48
+ if queueJSONObj.fetch("messages").fetch("message").instance_of?(Hash)
49
+ messageObj = App42::Message::Message.new(queueObj)
50
+ buildObjectFromJSONTree(messageObj,queueJSONObj.fetch("messages").fetch("message"));
51
+ else
52
+ messagesJSONArray = queueJSONObj.fetch("messages").fetch("message");
53
+ messagesJSONArray.length.times do |i|
54
+ messageJSONObj = messagesJSONArray[i]
55
+ messageObj = App42::Message::Message.new(queueObj)
56
+ buildObjectFromJSONTree(messageObj, messageJSONObj);
57
+ end
58
+
59
+ end
60
+ return queueObj
61
+ end
62
+ end
63
+ end
64
+ end
@@ -0,0 +1,469 @@
1
+ # -----------------------------------------------------------------------
2
+ # Copyright © 2012 ShepHertz Technologies Pvt Ltd. All rights reserved.
3
+ # -----------------------------------------------------------------------
4
+
5
+ require 'rubygems'
6
+ require 'connection/RESTConnection'
7
+ require 'util/util'
8
+ require 'json/pure'
9
+ require 'App42_Ruby_API/App42Response'
10
+ require 'message/QueueResponseBuilder'
11
+ require 'message/Queue'
12
+
13
+ module App42
14
+ module Message
15
+ #
16
+ # Manages Asynchronous queues. Allows to create, delete, purge messages, view pending messages and
17
+ # get all messages
18
+ #
19
+ # @see Queue
20
+ #
21
+ class QueueService
22
+ #
23
+ # this is a constructor that takes
24
+ #
25
+ # @param apiKey
26
+ # @param secretKey
27
+ # @param baseURL
28
+ #
29
+ def initialize(api_key, secret_key, base_url)
30
+ puts "Message Service->initialize"
31
+ @api_key = api_key
32
+ @secret_key = secret_key
33
+ @base_url = base_url
34
+ @resource = "queue"
35
+ @messageResource = "message"
36
+ @version = "1.0"
37
+ end
38
+
39
+ # Creates a type Pull Queue
40
+ #
41
+ # @param queueName
42
+ # - The name of the queue which has to be created
43
+ # @param queueDescription
44
+ # - The description of the queue
45
+ #
46
+ # @return Queue object containing queue name which has been created
47
+ #
48
+ # @raise App42Exception
49
+ #
50
+
51
+ def create_pull_queue(queueName, queueDescription)
52
+ puts "Create Pull Queue Called "
53
+ puts "Base url #{@base_url}"
54
+ response = nil;
55
+ messageObj = nil;
56
+ messageObj = Queue.new
57
+ util = Util.new
58
+ util.throwExceptionIfNullOrBlank(queueName, "Queue Name");
59
+ util.throwExceptionIfNullOrBlank(queueDescription, "Queue Description");
60
+ begin
61
+ connection = App42::Connection::RESTConnection.new(@base_url)
62
+ body = {'app42' => {"queue"=> {
63
+ "name" => queueName,
64
+ "description" => queueDescription
65
+ }}}.to_json
66
+ puts "Body #{body}"
67
+ query_params = Hash.new
68
+ params = {
69
+ 'apiKey'=> @api_key,
70
+ 'version' => @version,
71
+ 'timeStamp' => util.get_timestamp_utc,
72
+ "type"=>'pull'
73
+ }
74
+ query_params = params.clone
75
+ params.store("body", body)
76
+ puts query_params
77
+ signature = util.sign(@secret_key, params)
78
+ resource_url = "#{@version}/#{@resource}/pull"
79
+ response = connection.post(signature, resource_url, query_params, body)
80
+ message = QueueResponseBuilder.new()
81
+ messageObj = message.buildResponse(response)
82
+ rescue App42Exception =>e
83
+ raise e
84
+ rescue Exception => e
85
+ raise App42Exception.new(e)
86
+ end
87
+ return messageObj
88
+ end
89
+
90
+ #
91
+ # Deletes the Pull type Queue
92
+ #
93
+ # @param queueName
94
+ # - The name of the queue which has to be deleted
95
+ #
96
+ # @return App42Response if deleted successfully
97
+ #
98
+ # @raise App42Exception
99
+ #
100
+
101
+ def delete_pull_queue(queueName)
102
+ puts "Delete Pull Queue Called "
103
+ puts "Base url #{@base_url}"
104
+ response = nil;
105
+ responseObj = App42Response.new();
106
+ util = Util.new
107
+ util.throwExceptionIfNullOrBlank(queueName, "Queue Name");
108
+ begin
109
+ connection = App42::Connection::RESTConnection.new(@base_url)
110
+ query_params = Hash.new
111
+ params = {
112
+ 'apiKey'=> @api_key,
113
+ 'version' => @version,
114
+ 'timeStamp' => util.get_timestamp_utc,
115
+ "type"=>'pull'
116
+ }
117
+ query_params = params.clone
118
+ params.store("queueName", queueName)
119
+ puts query_params
120
+ signature = util.sign(@secret_key, params)
121
+ resource_url = "#{@version}/#{@resource}/pull/#{queueName}"
122
+ response = connection.delete(signature, resource_url, query_params)
123
+ responseObj.strResponse=(response)
124
+ responseObj.isResponseSuccess=(true)
125
+ rescue App42Exception =>e
126
+ raise e
127
+ rescue Exception => e
128
+ raise App42Exception.new(e)
129
+ end
130
+ return responseObj
131
+ end
132
+
133
+ #
134
+ # Purges message on the Queue. Note: once the Queue is purged the messages
135
+ # are removed from the Queue and wont be available for dequeueing.
136
+ #
137
+ # @param queueName
138
+ # - The name of the queue which has to be purged
139
+ #
140
+ # @return Queue object containing queue name which has been purged
141
+ #
142
+ # @raise App42Exception
143
+ #
144
+
145
+ def purge_pull_queue(queueName)
146
+ puts "Purge Pull Queue Called "
147
+ puts "Base url #{@base_url}"
148
+ response = nil;
149
+ responseObj = App42Response.new();
150
+ util = Util.new
151
+ util.throwExceptionIfNullOrBlank(queueName, "Queue Name");
152
+ begin
153
+ connection = App42::Connection::RESTConnection.new(@base_url)
154
+ query_params = Hash.new
155
+ params = {
156
+ 'apiKey'=> @api_key,
157
+ 'version' => @version,
158
+ 'timeStamp' => util.get_timestamp_utc,
159
+ "type"=>'pull'
160
+ }
161
+ query_params = params.clone
162
+ params.store("queueName", queueName)
163
+ puts query_params
164
+ signature = util.sign(@secret_key, params)
165
+ resource_url = "#{@version}/#{@resource}/pull/purge/#{queueName}"
166
+ response = connection.delete(signature, resource_url, query_params)
167
+ responseObj.strResponse=(response)
168
+ responseObj.isResponseSuccess=(true)
169
+ rescue App42Exception =>e
170
+ raise e
171
+ rescue Exception => e
172
+ raise App42Exception.new(e)
173
+ end
174
+ return responseObj
175
+ end
176
+
177
+ #
178
+ # Messages which are pending to be dequeue. Note: Calling this method does not
179
+ # dequeue the messages in the Queue. The messages stay in the Queue till they are dequeued
180
+ #
181
+ # @param queueName
182
+ # - The name of the queue from which pending messages have to be fetched
183
+ #
184
+ # @return Queue object containing pending messages in the Queue
185
+ #
186
+ # @raise App42Exception
187
+ #
188
+
189
+ def pending_messages(queueName)
190
+ puts "Pending Messages Called "
191
+ puts "Base url #{@base_url}"
192
+ response = nil;
193
+ messageObj = nil;
194
+ messageObj = Queue.new
195
+ util = Util.new
196
+ util.throwExceptionIfNullOrBlank(queueName, "Queue Name");
197
+ begin
198
+ connection = App42::Connection::RESTConnection.new(@base_url)
199
+ query_params = Hash.new
200
+ params = {
201
+ 'apiKey'=> @api_key,
202
+ 'version' => @version,
203
+ 'timeStamp' => util.get_timestamp_utc,
204
+ }
205
+ query_params = params.clone
206
+ params.store("queueName", queueName)
207
+ puts query_params
208
+ signature = util.sign(@secret_key, params)
209
+ resource_url = "#{@version}/#{@resource}/pending/#{queueName}"
210
+ response = connection.get(signature, resource_url, query_params)
211
+ message = QueueResponseBuilder.new()
212
+ messageObj = message.buildResponse(response)
213
+ rescue App42Exception =>e
214
+ raise e
215
+ rescue Exception => e
216
+ raise App42Exception.new(e)
217
+ end
218
+ return messageObj
219
+ end
220
+
221
+ #
222
+ # Messages are retrieved and dequeued from the Queue.
223
+ #
224
+ # @param queueName
225
+ # - The name of the queue which have to be retrieved
226
+ # @param receiveTimeOut
227
+ # - Receive time out
228
+ #
229
+ # @return Queue object containing messages in the Queue
230
+ #
231
+ # @raise App42Exception
232
+ #
233
+
234
+ def get_messages(queueName, receiveTimeOut)
235
+ puts "Get Messages Called "
236
+ puts "Base url #{@base_url}"
237
+ response = nil;
238
+ messageObj = nil;
239
+ messageObj = Queue.new
240
+ util = Util.new
241
+ util.throwExceptionIfNullOrBlank(queueName, "Queue Name");
242
+ util.throwExceptionIfNullOrBlank(receiveTimeOut, "ReceiveTimeOut");
243
+ begin
244
+ connection = App42::Connection::RESTConnection.new(@base_url)
245
+ query_params = Hash.new
246
+ params = {
247
+ 'apiKey'=> @api_key,
248
+ 'version' => @version,
249
+ 'timeStamp' => util.get_timestamp_utc,
250
+ }
251
+ query_params = params.clone
252
+ params.store("queueName", queueName)
253
+ params.store("receiveTimeOut", (receiveTimeOut.to_i).to_s)
254
+ puts query_params
255
+ signature = util.sign(@secret_key, params)
256
+ resource_url = "#{@version}/#{@resource}/messages/#{queueName}/#{(receiveTimeOut.to_i).to_s}"
257
+ response = connection.get(signature, resource_url, query_params)
258
+ message = QueueResponseBuilder.new()
259
+ messageObj = message.buildResponse(response)
260
+ rescue App42Exception =>e
261
+ raise e
262
+ rescue Exception => e
263
+ raise App42Exception.new(e)
264
+ end
265
+ return messageObj
266
+ end
267
+
268
+ #
269
+ # Send message on the queue with an expiry. The message will expire if it is not pulled/dequeued before the expiry
270
+ #
271
+ # @param queueName
272
+ # - The name of the queue to which the message has to be sent
273
+ # @param msg
274
+ # - Message that has to be sent
275
+ # @param exp
276
+ # - Message expiry time
277
+ #
278
+ # @return Queue object containing message which has been sent with its message id and correlation id
279
+ #
280
+ # @raise App42Exception
281
+ #
282
+
283
+ def send_message(queueName, msg, exp)
284
+ puts "Get Messages Called "
285
+ puts "Base url #{@base_url}"
286
+ response = nil;
287
+ messageObj = nil;
288
+ messageObj = Queue.new
289
+ util = Util.new
290
+ util.throwExceptionIfNullOrBlank(queueName, "Queue Name");
291
+ util.throwExceptionIfNullOrBlank(msg, "Message");
292
+ util.throwExceptionIfNullOrBlank(exp, "Exipiration");
293
+ begin
294
+ connection = App42::Connection::RESTConnection.new(@base_url)
295
+ body = {'app42' => {"payLoad"=> {
296
+ "message" => msg,
297
+ "expiration" => exp
298
+ }}}.to_json
299
+ puts "Body #{body}"
300
+ query_params = Hash.new
301
+ params = {
302
+ 'apiKey'=> @api_key,
303
+ 'version' => @version,
304
+ 'timeStamp' => util.get_timestamp_utc,
305
+ 'queueName' => queueName
306
+ }
307
+ query_params = params.clone
308
+ params.store("body", body)
309
+ puts query_params
310
+ signature = util.sign(@secret_key, params)
311
+ resource_url = "#{@version}/#{@messageResource}/#{queueName}"
312
+ response = connection.post(signature, resource_url, query_params, body)
313
+ message = QueueResponseBuilder.new()
314
+ messageObj = message.buildResponse(response)
315
+ rescue App42Exception =>e
316
+ raise e
317
+ rescue Exception => e
318
+ raise App42Exception.new(e)
319
+ end
320
+ return messageObj
321
+ end
322
+
323
+ #
324
+ # Pulls all the message from the queue
325
+ #
326
+ # @param queueName
327
+ # - The name of the queue from which messages have to be pulled
328
+ # @param receiveTimeOut
329
+ # - Receive time out
330
+ #
331
+ # @return Queue object containing messages which have been pulled
332
+ #
333
+ # @raise App42Exception
334
+ #
335
+
336
+ def receive_message(queueName, receiveTimeOut)
337
+ puts "Receive Message Called "
338
+ puts "Base url #{@base_url}"
339
+ response = nil;
340
+ messageObj = nil;
341
+ messageObj = Queue.new
342
+ util = Util.new
343
+ util.throwExceptionIfNullOrBlank(queueName, "Queue Name");
344
+ util.throwExceptionIfNullOrBlank(receiveTimeOut, "ReceiveTimeOut");
345
+ begin
346
+ connection = App42::Connection::RESTConnection.new(@base_url)
347
+ query_params = Hash.new
348
+ params = {
349
+ 'apiKey'=> @api_key,
350
+ 'version' => @version,
351
+ 'timeStamp' => util.get_timestamp_utc,
352
+ }
353
+ query_params = params.clone
354
+ params.store("queueName", queueName)
355
+ params.store("receiveTimeOut", "" + (receiveTimeOut.to_i).to_s)
356
+ puts query_params
357
+ signature = util.sign(@secret_key, params)
358
+ resource_url = "#{@version}/#{@messageResource}/#{queueName}/#{(receiveTimeOut.to_i).to_s}"
359
+ response = connection.get(signature, resource_url, query_params)
360
+ message = QueueResponseBuilder.new()
361
+ messageObj = message.buildResponse(response)
362
+ rescue App42Exception =>e
363
+ raise e
364
+ rescue Exception => e
365
+ raise App42Exception.new(e)
366
+ end
367
+ return messageObj
368
+ end
369
+
370
+ #
371
+ # Pull message based on the correlation id
372
+ #
373
+ # @param queueName
374
+ # - The name of the queue from which the message has to be pulled
375
+ # @param receiveTimeOut
376
+ # - Receive time out
377
+ # @param correlationId
378
+ # - Correlation Id for which message has to be pulled
379
+ #
380
+ # @return Queue containing message which has pulled based on the correlation id
381
+ #
382
+ # @raise App42Exception
383
+ #
384
+
385
+ def receive_message_by_correlation_id(queueName, receiveTimeOut, correlationId)
386
+ puts "Receive Message Called "
387
+ puts "Base url #{@base_url}"
388
+ response = nil;
389
+ messageObj = nil;
390
+ messageObj = Queue.new
391
+ util = Util.new
392
+ util.throwExceptionIfNullOrBlank(queueName, "Queue Name");
393
+ util.throwExceptionIfNullOrBlank(receiveTimeOut, "ReceiveTimeOut");
394
+ util.throwExceptionIfNullOrBlank(correlationId, "Correlation Id");
395
+ begin
396
+ connection = App42::Connection::RESTConnection.new(@base_url)
397
+ query_params = Hash.new
398
+ params = {
399
+ 'apiKey'=> @api_key,
400
+ 'version' => @version,
401
+ 'timeStamp' => util.get_timestamp_utc,
402
+ }
403
+ query_params = params.clone
404
+ params.store("queueName", queueName)
405
+ params.store("receiveTimeOut", "" + (receiveTimeOut.to_i).to_s)
406
+ params.store("correlationId", "" + correlationId)
407
+ puts query_params
408
+ signature = util.sign(@secret_key, params)
409
+ resource_url = "#{@version}/#{@messageResource}/#{queueName}/#{(receiveTimeOut.to_i).to_s}/#{correlationId}"
410
+ response = connection.get(signature, resource_url, query_params)
411
+ message = QueueResponseBuilder.new()
412
+ messageObj = message.buildResponse(response)
413
+ rescue App42Exception =>e
414
+ raise e
415
+ rescue Exception => e
416
+ raise App42Exception.new(e)
417
+ end
418
+ return messageObj
419
+ end
420
+
421
+ #
422
+ # Remove message from the queue based on the message id. Note: Once the message is removed it cannot be pulled
423
+ #
424
+ # @param queueName
425
+ # - The name of the queue from which the message has to be removed
426
+ # @param messageId
427
+ # - The message id of the message which has to be removed.
428
+ #
429
+ # @return App42Response if removed successfully
430
+ #
431
+ # @raise App42Exception
432
+ #
433
+
434
+ def remove_message(queueName, messageId)
435
+ puts "Remove Message Called "
436
+ puts "Base url #{@base_url}"
437
+ response = nil;
438
+ responseObj = App42Response.new();
439
+ util = Util.new
440
+ util.throwExceptionIfNullOrBlank(queueName, "Queue Name");
441
+ util.throwExceptionIfNullOrBlank(messageId, "messageId");
442
+ begin
443
+ connection = App42::Connection::RESTConnection.new(@base_url)
444
+ query_params = Hash.new
445
+ params = {
446
+ 'apiKey'=> @api_key,
447
+ 'version' => @version,
448
+ 'timeStamp' => util.get_timestamp_utc,
449
+ }
450
+ query_params = params.clone
451
+ params.store("queueName", queueName)
452
+ params.store("messageId", messageId)
453
+ puts query_params
454
+ signature = util.sign(@secret_key, params)
455
+ resource_url = "#{@version}/#{@messageResource}/#{queueName}/#{messageId}"
456
+ response = connection.delete(signature, resource_url, query_params)
457
+ responseObj.strResponse=(response)
458
+ responseObj.isResponseSuccess=(true)
459
+ rescue App42Exception =>e
460
+ raise e
461
+ rescue Exception => e
462
+ raise App42Exception.new(e)
463
+ end
464
+ return responseObj
465
+ end
466
+
467
+ end
468
+ end
469
+ end