activemessaging 0.14.1 → 0.14.2

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.
@@ -68,7 +68,7 @@ module ActiveMessaging
68
68
  # is likely running since application_processor.rb and another processor
69
69
  # should exist when running rails.
70
70
  if Dir["#{app_root}/app/processors/*.rb"].size() <= 1
71
- return
71
+ return
72
72
  end
73
73
  path = File.expand_path("#{app_root}/config/messaging.rb")
74
74
  begin
@@ -7,7 +7,6 @@ require 'cgi'
7
7
  require 'time'
8
8
  require 'uri'
9
9
  require 'rexml/document'
10
- require 'erb'
11
10
 
12
11
  require 'activemessaging/adapters/base'
13
12
  require 'activemessaging/adapters/aws4_signer'
@@ -22,8 +21,9 @@ module ActiveMessaging
22
21
  QUEUE_NAME_LENGTH = 1..80
23
22
  VISIBILITY_TIMEOUT = 0..(24 * 60 * 60)
24
23
  NUMBER_OF_MESSAGES = 1..255
25
- GET_QUEUE_ATTRIBUTES = ['All', 'ApproximateNumberOfMessages', 'ApproximateNumberOfMessagesDelayed', 'ApproximateNumberOfMessagesNotVisible', 'CreatedTimestamp', 'DelaySeconds', 'LastModifiedTimestamp', 'MaximumMessageSize', 'MessageRetentionPeriod', 'Policy', 'QueueArn', 'ReceiveMessageWaitTimeSeconds', 'RedrivePolicy', 'VisibilityTimeout', 'KmsMasterKeyId', 'KmsDataKeyReusePeriodSeconds', 'FifoQueue', 'ContentBasedDeduplication']
26
- SET_QUEUE_ATTRIBUTES = ['DelaySeconds', 'MaximumMessageSize', 'MessageRetentionPeriod', 'Policy', 'ReceiveMessageWaitTimeSeconds', 'RedrivePolicy', 'VisibilityTimeout', 'KmsMasterKeyId', 'KmsDataKeyReusePeriodSeconds', 'ContentBasedDeduplication']
24
+ GET_QUEUE_ATTRIBUTES = ['All', 'ApproximateNumberOfMessages', 'ApproximateNumberOfMessagesDelayed', 'ApproximateNumberOfMessagesNotVisible', 'CreatedTimestamp', 'DelaySeconds', 'LastModifiedTimestamp', 'MaximumMessageSize', 'MessageRetentionPeriod', 'Policy', 'QueueArn', 'ReceiveMessageWaitTimeSeconds', 'RedrivePolicy', 'VisibilityTimeout', 'KmsMasterKeyId', 'KmsDataKeyReusePeriodSeconds', 'FifoQueue', 'ContentBasedDeduplication'].freeze
25
+ SET_QUEUE_ATTRIBUTES = ['DelaySeconds', 'MaximumMessageSize', 'MessageRetentionPeriod', 'Policy', 'ReceiveMessageWaitTimeSeconds', 'RedrivePolicy', 'VisibilityTimeout', 'KmsMasterKeyId', 'KmsDataKeyReusePeriodSeconds', 'ContentBasedDeduplication'].freeze
26
+ URI_ENCODING_REPLACEMENTS = { '%7E' => '~', '+' => '%20' }.freeze
27
27
 
28
28
  #configurable params
29
29
  attr_accessor :reconnect_delay, :access_key_id, :secret_access_key, :aws_version, :content_type, :host, :port, :poll_interval, :cache_queue_list, :max_message_size
@@ -236,7 +236,7 @@ module ActiveMessaging
236
236
 
237
237
  # Sort and encode query params
238
238
  query_params = params.keys.sort.map do |key|
239
- key + "=" + ERB::Util.url_encode(params[key].to_s)
239
+ key + "=" + url_encode(params[key])
240
240
  end
241
241
 
242
242
  # Put these together with the uri to get the request query string
@@ -244,8 +244,8 @@ module ActiveMessaging
244
244
 
245
245
  # Create the request
246
246
  init_headers = {
247
- "Date" => Time.now.utc.iso8601,
248
- "Host" => @host
247
+ 'Date' => Time.now.utc.iso8601,
248
+ 'Host' => @host
249
249
  }
250
250
  request = Net::HTTP::Get.new(request_url, init_headers)
251
251
 
@@ -259,7 +259,7 @@ module ActiveMessaging
259
259
  headers = {}
260
260
  request.canonical_each { |k, v| headers[k] = v }
261
261
 
262
- signature = signer.sign('GET', URI.parse(request_url), headers)
262
+ signature = signer.sign('GET', URI.parse(request_url), headers, nil, false)
263
263
  signature.each { |k, v| request[k] = v }
264
264
 
265
265
  # Make the request
@@ -278,11 +278,23 @@ module ActiveMessaging
278
278
  end
279
279
  end
280
280
 
281
+ def url_encode(param)
282
+ param = param.to_s
283
+
284
+ if param.respond_to?(:encode)
285
+ param = param.encode('UTF-8')
286
+ end
287
+
288
+ param = CGI::escape(param)
289
+ URI_ENCODING_REPLACEMENTS.each { |k, v| param = param.gsub(k, v) }
290
+ param
291
+ end
292
+
281
293
  def http_request h, p, r
282
294
  http = Net::HTTP.new(h, p)
283
295
  # http.set_debug_output(STDOUT)
284
296
 
285
- http.use_ssl = true if "https" == @protocol
297
+ http.use_ssl = 'https' == @protocol
286
298
 
287
299
  # Don't carp about SSL cert verification
288
300
  http.verify_mode = OpenSSL::SSL::VERIFY_NONE
@@ -290,7 +302,7 @@ module ActiveMessaging
290
302
  end
291
303
 
292
304
  def check_errors(response)
293
- raise "http response was nil" if (response.nil?)
305
+ raise 'http response was nil' if (response.nil?)
294
306
  raise response.errors if (response && response.errors?)
295
307
  response
296
308
  end
@@ -1,3 +1,3 @@
1
1
  module ActiveMessaging
2
- VERSION = "0.14.1"
2
+ VERSION = "0.14.2"
3
3
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activemessaging
3
3
  version: !ruby/object:Gem::Version
4
- hash: 37
4
+ hash: 35
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 14
9
- - 1
10
- version: 0.14.1
9
+ - 2
10
+ version: 0.14.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - Jon Tirsen
@@ -22,7 +22,7 @@ autorequire:
22
22
  bindir: exe
23
23
  cert_chain: []
24
24
 
25
- date: 2018-06-05 00:00:00 Z
25
+ date: 2018-06-18 00:00:00 Z
26
26
  dependencies:
27
27
  - !ruby/object:Gem::Dependency
28
28
  version_requirements: &id001 !ruby/object:Gem::Requirement