smartystreets_ruby_sdk 5.3.1 → 5.3.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.
@@ -35,7 +35,7 @@ class USStreetMultipleAddressExample
35
35
 
36
36
  begin
37
37
  client.send_batch(batch)
38
- rescue SmartyError => err
38
+ rescue SmartyStreets::SmartyError => err
39
39
  puts err
40
40
  return
41
41
  end
@@ -7,6 +7,7 @@ require_relative 'url_prefix_sender'
7
7
  require_relative 'sleeper'
8
8
  require_relative 'logger'
9
9
  require_relative 'proxy'
10
+ require_relative 'custom_header_sender'
10
11
  require_relative 'us_street/client'
11
12
  require_relative 'us_zipcode/client'
12
13
  require_relative 'us_extract/client'
@@ -32,6 +33,7 @@ module SmartyStreets
32
33
  @max_timeout = 10
33
34
  @url_prefix = nil
34
35
  @proxy = nil
36
+ @headers = nil
35
37
  end
36
38
 
37
39
  # Sets the maximum number of times to retry sending the request to the API. (Default is 5)
@@ -84,6 +86,15 @@ module SmartyStreets
84
86
  self
85
87
  end
86
88
 
89
+ # Allows you to submit custom headers using a Hash.
90
+ # headers is a Hash object.
91
+ #
92
+ # Returns self to accommodate method chaining.
93
+ def with_custom_headers(headers)
94
+ @headers = headers
95
+ self
96
+ end
97
+
87
98
  def build_international_street_api_client
88
99
  ensure_url_prefix_not_null(INTERNATIONAL_STREET_API_URL)
89
100
  InternationalStreet::Client.new(build_sender, @serializer)
@@ -116,6 +127,8 @@ module SmartyStreets
116
127
 
117
128
  sender = StatusCodeSender.new(sender)
118
129
 
130
+ sender = CustomHeaderSender.new(sender, @headers) unless @headers.nil?
131
+
119
132
  sender = SigningSender.new(@signer, sender) unless @signer.nil?
120
133
 
121
134
  sender = RetrySender.new(@max_retries, sender, SmartyStreets::Sleeper.new,SmartyStreets::Logger.new) if @max_retries > 0
@@ -42,6 +42,9 @@ module SmartyStreets
42
42
  request['User-Agent'] = "smartystreets (sdk:ruby@#{SmartyStreets::VERSION})"
43
43
  request['Referer'] = smarty_request.referer unless smarty_request.referer.nil?
44
44
  set_custom_headers(smarty_request.headers, request)
45
+ for key in request.each_key
46
+ puts(key + " " + request[key])
47
+ end
45
48
  request
46
49
  end
47
50
 
@@ -68,8 +71,12 @@ module SmartyStreets
68
71
 
69
72
  def self.set_custom_headers(smarty_headers, request)
70
73
  smarty_headers.each do |key, values|
71
- values.each do |value|
72
- request.add_field(key, value)
74
+ if values.respond_to? :each
75
+ values.each do |value|
76
+ request.add_field(key, value)
77
+ end
78
+ else
79
+ request.add_field(key, values)
73
80
  end
74
81
  end
75
82
  end
@@ -1,3 +1,3 @@
1
1
  module SmartyStreets
2
- VERSION = '5.3.1' # DO NOT EDIT (this is updated by a build job when a new release is published)
2
+ VERSION = '5.3.2' # DO NOT EDIT (this is updated by a build job when a new release is published)
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: smartystreets_ruby_sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.3.1
4
+ version: 5.3.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2018-02-06 00:00:00.000000000 Z
12
+ date: 2018-04-27 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler