smartystreets_ruby_sdk 5.3.1 → 5.3.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -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