savon 2.16.0 → 2.17.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.
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: savon
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.16.0
4
+ version: 2.17.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Harrington
@@ -10,61 +10,35 @@ cert_chain: []
10
10
  date: 1980-01-02 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
- name: nori
13
+ name: akami
14
14
  requirement: !ruby/object:Gem::Requirement
15
15
  requirements:
16
16
  - - "~>"
17
17
  - !ruby/object:Gem::Version
18
- version: '2.4'
18
+ version: '1.2'
19
19
  type: :runtime
20
20
  prerelease: false
21
21
  version_requirements: !ruby/object:Gem::Requirement
22
22
  requirements:
23
23
  - - "~>"
24
24
  - !ruby/object:Gem::Version
25
- version: '2.4'
26
- - !ruby/object:Gem::Dependency
27
- name: httpi
28
- requirement: !ruby/object:Gem::Requirement
29
- requirements:
30
- - - ">="
31
- - !ruby/object:Gem::Version
32
- version: '4'
33
- - - "<"
34
- - !ruby/object:Gem::Version
35
- version: '5'
36
- type: :runtime
37
- prerelease: false
38
- version_requirements: !ruby/object:Gem::Requirement
39
- requirements:
40
- - - ">="
41
- - !ruby/object:Gem::Version
42
- version: '4'
43
- - - "<"
44
- - !ruby/object:Gem::Version
45
- version: '5'
25
+ version: '1.2'
46
26
  - !ruby/object:Gem::Dependency
47
- name: wasabi
27
+ name: builder
48
28
  requirement: !ruby/object:Gem::Requirement
49
29
  requirements:
50
30
  - - ">="
51
31
  - !ruby/object:Gem::Version
52
- version: 5.1.0
53
- - - "<"
54
- - !ruby/object:Gem::Version
55
- version: '6'
32
+ version: 2.1.2
56
33
  type: :runtime
57
34
  prerelease: false
58
35
  version_requirements: !ruby/object:Gem::Requirement
59
36
  requirements:
60
37
  - - ">="
61
38
  - !ruby/object:Gem::Version
62
- version: 5.1.0
63
- - - "<"
64
- - !ruby/object:Gem::Version
65
- version: '6'
39
+ version: 2.1.2
66
40
  - !ruby/object:Gem::Dependency
67
- name: akami
41
+ name: gyoku
68
42
  requirement: !ruby/object:Gem::Requirement
69
43
  requirements:
70
44
  - - "~>"
@@ -78,33 +52,39 @@ dependencies:
78
52
  - !ruby/object:Gem::Version
79
53
  version: '1.2'
80
54
  - !ruby/object:Gem::Dependency
81
- name: gyoku
55
+ name: httpi
82
56
  requirement: !ruby/object:Gem::Requirement
83
57
  requirements:
84
- - - "~>"
58
+ - - ">="
85
59
  - !ruby/object:Gem::Version
86
- version: '1.2'
60
+ version: '4'
61
+ - - "<"
62
+ - !ruby/object:Gem::Version
63
+ version: '5'
87
64
  type: :runtime
88
65
  prerelease: false
89
66
  version_requirements: !ruby/object:Gem::Requirement
90
67
  requirements:
91
- - - "~>"
68
+ - - ">="
92
69
  - !ruby/object:Gem::Version
93
- version: '1.2'
70
+ version: '4'
71
+ - - "<"
72
+ - !ruby/object:Gem::Version
73
+ version: '5'
94
74
  - !ruby/object:Gem::Dependency
95
- name: builder
75
+ name: mail
96
76
  requirement: !ruby/object:Gem::Requirement
97
77
  requirements:
98
- - - ">="
78
+ - - "~>"
99
79
  - !ruby/object:Gem::Version
100
- version: 2.1.2
80
+ version: '2.5'
101
81
  type: :runtime
102
82
  prerelease: false
103
83
  version_requirements: !ruby/object:Gem::Requirement
104
84
  requirements:
105
- - - ">="
85
+ - - "~>"
106
86
  - !ruby/object:Gem::Version
107
- version: 2.1.2
87
+ version: '2.5'
108
88
  - !ruby/object:Gem::Dependency
109
89
  name: nokogiri
110
90
  requirement: !ruby/object:Gem::Requirement
@@ -120,109 +100,109 @@ dependencies:
120
100
  - !ruby/object:Gem::Version
121
101
  version: 1.8.1
122
102
  - !ruby/object:Gem::Dependency
123
- name: mail
103
+ name: nori
124
104
  requirement: !ruby/object:Gem::Requirement
125
105
  requirements:
126
106
  - - "~>"
127
107
  - !ruby/object:Gem::Version
128
- version: '2.5'
108
+ version: '2.7'
129
109
  type: :runtime
130
110
  prerelease: false
131
111
  version_requirements: !ruby/object:Gem::Requirement
132
112
  requirements:
133
113
  - - "~>"
134
114
  - !ruby/object:Gem::Version
135
- version: '2.5'
115
+ version: '2.7'
136
116
  - !ruby/object:Gem::Dependency
137
- name: rack
117
+ name: wasabi
138
118
  requirement: !ruby/object:Gem::Requirement
139
119
  requirements:
120
+ - - ">="
121
+ - !ruby/object:Gem::Version
122
+ version: 5.1.0
140
123
  - - "<"
141
124
  - !ruby/object:Gem::Version
142
- version: '4'
143
- type: :development
125
+ version: '6'
126
+ type: :runtime
144
127
  prerelease: false
145
128
  version_requirements: !ruby/object:Gem::Requirement
146
129
  requirements:
130
+ - - ">="
131
+ - !ruby/object:Gem::Version
132
+ version: 5.1.0
147
133
  - - "<"
148
134
  - !ruby/object:Gem::Version
149
- version: '4'
135
+ version: '6'
150
136
  - !ruby/object:Gem::Dependency
151
- name: puma
137
+ name: ostruct
152
138
  requirement: !ruby/object:Gem::Requirement
153
139
  requirements:
154
- - - ">="
155
- - !ruby/object:Gem::Version
156
- version: 4.3.8
157
- - - "<"
140
+ - - "~>"
158
141
  - !ruby/object:Gem::Version
159
- version: '7'
142
+ version: '0.6'
160
143
  type: :development
161
144
  prerelease: false
162
145
  version_requirements: !ruby/object:Gem::Requirement
163
146
  requirements:
164
- - - ">="
165
- - !ruby/object:Gem::Version
166
- version: 4.3.8
167
- - - "<"
147
+ - - "~>"
168
148
  - !ruby/object:Gem::Version
169
- version: '7'
149
+ version: '0.6'
170
150
  - !ruby/object:Gem::Dependency
171
- name: ostruct
151
+ name: puma
172
152
  requirement: !ruby/object:Gem::Requirement
173
153
  requirements:
174
154
  - - "~>"
175
155
  - !ruby/object:Gem::Version
176
- version: '0.6'
156
+ version: 8.0.2
177
157
  type: :development
178
158
  prerelease: false
179
159
  version_requirements: !ruby/object:Gem::Requirement
180
160
  requirements:
181
161
  - - "~>"
182
162
  - !ruby/object:Gem::Version
183
- version: '0.6'
163
+ version: 8.0.2
184
164
  - !ruby/object:Gem::Dependency
185
- name: byebug
165
+ name: rack
186
166
  requirement: !ruby/object:Gem::Requirement
187
167
  requirements:
188
- - - ">="
168
+ - - "<"
189
169
  - !ruby/object:Gem::Version
190
- version: '0'
170
+ version: '4'
191
171
  type: :development
192
172
  prerelease: false
193
173
  version_requirements: !ruby/object:Gem::Requirement
194
174
  requirements:
195
- - - ">="
175
+ - - "<"
196
176
  - !ruby/object:Gem::Version
197
- version: '0'
177
+ version: '4'
198
178
  - !ruby/object:Gem::Dependency
199
- name: rake
179
+ name: byebug
200
180
  requirement: !ruby/object:Gem::Requirement
201
181
  requirements:
202
182
  - - ">="
203
183
  - !ruby/object:Gem::Version
204
- version: 12.3.3
184
+ version: '0'
205
185
  type: :development
206
186
  prerelease: false
207
187
  version_requirements: !ruby/object:Gem::Requirement
208
188
  requirements:
209
189
  - - ">="
210
190
  - !ruby/object:Gem::Version
211
- version: 12.3.3
191
+ version: '0'
212
192
  - !ruby/object:Gem::Dependency
213
- name: rspec
193
+ name: json
214
194
  requirement: !ruby/object:Gem::Requirement
215
195
  requirements:
216
- - - "~>"
196
+ - - ">="
217
197
  - !ruby/object:Gem::Version
218
- version: '3.9'
198
+ version: 2.3.0
219
199
  type: :development
220
200
  prerelease: false
221
201
  version_requirements: !ruby/object:Gem::Requirement
222
202
  requirements:
223
- - - "~>"
203
+ - - ">="
224
204
  - !ruby/object:Gem::Version
225
- version: '3.9'
205
+ version: 2.3.0
226
206
  - !ruby/object:Gem::Dependency
227
207
  name: mocha
228
208
  requirement: !ruby/object:Gem::Requirement
@@ -238,19 +218,33 @@ dependencies:
238
218
  - !ruby/object:Gem::Version
239
219
  version: '0.14'
240
220
  - !ruby/object:Gem::Dependency
241
- name: json
221
+ name: rake
242
222
  requirement: !ruby/object:Gem::Requirement
243
223
  requirements:
244
224
  - - ">="
245
225
  - !ruby/object:Gem::Version
246
- version: 2.3.0
226
+ version: 12.3.3
247
227
  type: :development
248
228
  prerelease: false
249
229
  version_requirements: !ruby/object:Gem::Requirement
250
230
  requirements:
251
231
  - - ">="
252
232
  - !ruby/object:Gem::Version
253
- version: 2.3.0
233
+ version: 12.3.3
234
+ - !ruby/object:Gem::Dependency
235
+ name: rspec
236
+ requirement: !ruby/object:Gem::Requirement
237
+ requirements:
238
+ - - "~>"
239
+ - !ruby/object:Gem::Version
240
+ version: '3.9'
241
+ type: :development
242
+ prerelease: false
243
+ version_requirements: !ruby/object:Gem::Requirement
244
+ requirements:
245
+ - - "~>"
246
+ - !ruby/object:Gem::Version
247
+ version: '3.9'
254
248
  description: Heavy metal SOAP client
255
249
  email: me@rubiii.com
256
250
  executables: []
@@ -262,9 +256,12 @@ files:
262
256
  - README.md
263
257
  - Rakefile
264
258
  - lib/savon.rb
259
+ - lib/savon/addressing.rb
265
260
  - lib/savon/block_interface.rb
266
261
  - lib/savon/builder.rb
267
262
  - lib/savon/client.rb
263
+ - lib/savon/effective_options.rb
264
+ - lib/savon/faraday_migration_hint.rb
268
265
  - lib/savon/header.rb
269
266
  - lib/savon/http_error.rb
270
267
  - lib/savon/log_message.rb
@@ -276,17 +273,22 @@ files:
276
273
  - lib/savon/operation.rb
277
274
  - lib/savon/options.rb
278
275
  - lib/savon/qualified_message.rb
279
- - lib/savon/request.rb
280
- - lib/savon/request_logger.rb
281
276
  - lib/savon/response.rb
282
277
  - lib/savon/soap_fault.rb
283
278
  - lib/savon/string_utils.rb
279
+ - lib/savon/transport/faraday.rb
280
+ - lib/savon/transport/httpi.rb
281
+ - lib/savon/transport/logging.rb
282
+ - lib/savon/transport/response.rb
284
283
  - lib/savon/version.rb
285
284
  homepage: https://savonrb.com
286
285
  licenses:
287
286
  - MIT
288
287
  metadata:
289
288
  rubygems_mfa_required: 'true'
289
+ source_code_uri: https://github.com/savonrb/savon
290
+ changelog_uri: https://github.com/savonrb/savon/blob/main/CHANGELOG.md
291
+ bug_tracker_uri: https://github.com/savonrb/savon/issues
290
292
  rdoc_options: []
291
293
  require_paths:
292
294
  - lib
data/lib/savon/request.rb DELETED
@@ -1,113 +0,0 @@
1
- # frozen_string_literal: true
2
- require "httpi"
3
-
4
- module Savon
5
- class HTTPRequest
6
-
7
- def initialize(globals, http_request = nil)
8
- @globals = globals
9
- @http_request = http_request || HTTPI::Request.new
10
- end
11
-
12
- def build
13
- @http_request
14
- end
15
-
16
- private
17
-
18
- def configure_proxy
19
- @http_request.proxy = @globals[:proxy] if @globals.include? :proxy
20
- end
21
-
22
- def configure_timeouts
23
- @http_request.open_timeout = @globals[:open_timeout] if @globals.include? :open_timeout
24
- @http_request.read_timeout = @globals[:read_timeout] if @globals.include? :read_timeout
25
- @http_request.write_timeout = @globals[:write_timeout] if @globals.include? :write_timeout
26
- end
27
-
28
- def configure_ssl
29
- @http_request.auth.ssl.ssl_version = @globals[:ssl_version] if @globals.include? :ssl_version
30
- @http_request.auth.ssl.min_version = @globals[:ssl_min_version] if @globals.include? :ssl_min_version
31
- @http_request.auth.ssl.max_version = @globals[:ssl_max_version] if @globals.include? :ssl_max_version
32
-
33
- @http_request.auth.ssl.verify_mode = @globals[:ssl_verify_mode] if @globals.include? :ssl_verify_mode
34
- @http_request.auth.ssl.ciphers = @globals[:ssl_ciphers] if @globals.include? :ssl_ciphers
35
-
36
- @http_request.auth.ssl.cert_key_file = @globals[:ssl_cert_key_file] if @globals.include? :ssl_cert_key_file
37
- @http_request.auth.ssl.cert_key = @globals[:ssl_cert_key] if @globals.include? :ssl_cert_key
38
- @http_request.auth.ssl.cert_file = @globals[:ssl_cert_file] if @globals.include? :ssl_cert_file
39
- @http_request.auth.ssl.cert = @globals[:ssl_cert] if @globals.include? :ssl_cert
40
- @http_request.auth.ssl.ca_cert_file = @globals[:ssl_ca_cert_file] if @globals.include? :ssl_ca_cert_file
41
- @http_request.auth.ssl.ca_cert_path = @globals[:ssl_ca_cert_path] if @globals.include? :ssl_ca_cert_path
42
- @http_request.auth.ssl.ca_cert = @globals[:ssl_ca_cert] if @globals.include? :ssl_ca_cert
43
- @http_request.auth.ssl.cert_store = @globals[:ssl_cert_store] if @globals.include? :ssl_cert_store
44
-
45
- @http_request.auth.ssl.cert_key_password = @globals[:ssl_cert_key_password] if @globals.include? :ssl_cert_key_password
46
- end
47
-
48
- def configure_auth
49
- @http_request.auth.basic(*@globals[:basic_auth]) if @globals.include? :basic_auth
50
- @http_request.auth.digest(*@globals[:digest_auth]) if @globals.include? :digest_auth
51
- @http_request.auth.ntlm(*@globals[:ntlm]) if @globals.include? :ntlm
52
- end
53
-
54
- def configure_redirect_handling
55
- if @globals.include? :follow_redirects
56
- @http_request.follow_redirect = @globals[:follow_redirects]
57
- end
58
- end
59
- end
60
-
61
- class WSDLRequest < HTTPRequest
62
-
63
- def build
64
- configure_proxy
65
- configure_timeouts
66
- configure_headers
67
- configure_ssl
68
- configure_auth
69
- configure_redirect_handling
70
-
71
- @http_request
72
- end
73
-
74
- private
75
-
76
- def configure_headers
77
- @http_request.headers = @globals[:headers] if @globals.include? :headers
78
- end
79
- end
80
-
81
- class SOAPRequest < HTTPRequest
82
-
83
- CONTENT_TYPE = {
84
- 1 => "text/xml;charset=%s",
85
- 2 => "application/soap+xml;charset=%s"
86
- }
87
-
88
- def build(options = {})
89
- configure_proxy
90
- configure_timeouts
91
- configure_headers options[:soap_action], options[:headers]
92
- configure_cookies options[:cookies]
93
- configure_ssl
94
- configure_auth
95
- configure_redirect_handling
96
-
97
- @http_request
98
- end
99
-
100
- private
101
-
102
- def configure_cookies(cookies)
103
- @http_request.set_cookies(cookies) if cookies
104
- end
105
-
106
- def configure_headers(soap_action, headers)
107
- @http_request.headers = @globals[:headers] if @globals.include? :headers
108
- @http_request.headers.merge!(headers) if headers
109
- @http_request.headers["SOAPAction"] ||= %{"#{soap_action}"} if soap_action
110
- @http_request.headers["Content-Type"] ||= CONTENT_TYPE[@globals[:soap_version]] % @globals[:encoding]
111
- end
112
- end
113
- end
@@ -1,54 +0,0 @@
1
- # frozen_string_literal: true
2
- require "savon/log_message"
3
-
4
- module Savon
5
- class RequestLogger
6
-
7
- def initialize(globals)
8
- @globals = globals
9
- end
10
-
11
- def log(request, &http_request)
12
- log_request(request) if log?
13
- response = http_request.call
14
- log_response(response) if log?
15
-
16
- response
17
- end
18
-
19
- def logger
20
- @globals[:logger]
21
- end
22
-
23
- def log?
24
- @globals[:log]
25
- end
26
-
27
- def log_headers?
28
- @globals[:log_headers]
29
- end
30
-
31
- private
32
-
33
- def log_request(request)
34
- logger.info { "SOAP request: #{request.url}" }
35
- logger.info { headers_to_log(request.headers) } if log_headers?
36
- logger.debug { body_to_log(request.body) }
37
- end
38
-
39
- def log_response(response)
40
- logger.info { "SOAP response (status #{response.code})" }
41
- logger.debug { headers_to_log(response.headers) } if log_headers?
42
- logger.debug { body_to_log(response.body) }
43
- end
44
-
45
- def headers_to_log(headers)
46
- headers.map { |key, value| "#{key}: #{value}" }.join("\n")
47
- end
48
-
49
- def body_to_log(body)
50
- LogMessage.new(body, @globals[:filters], @globals[:pretty_print_xml]).to_s
51
- end
52
-
53
- end
54
- end