savon 2.15.1 → 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,173 +1,180 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: savon
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.15.1
4
+ version: 2.17.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Harrington
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2024-07-08 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
- name: nori
13
+ name: akami
15
14
  requirement: !ruby/object:Gem::Requirement
16
15
  requirements:
17
16
  - - "~>"
18
17
  - !ruby/object:Gem::Version
19
- version: '2.4'
18
+ version: '1.2'
20
19
  type: :runtime
21
20
  prerelease: false
22
21
  version_requirements: !ruby/object:Gem::Requirement
23
22
  requirements:
24
23
  - - "~>"
25
24
  - !ruby/object:Gem::Version
26
- version: '2.4'
25
+ version: '1.2'
27
26
  - !ruby/object:Gem::Dependency
28
- name: httpi
27
+ name: builder
29
28
  requirement: !ruby/object:Gem::Requirement
30
29
  requirements:
31
30
  - - ">="
32
31
  - !ruby/object:Gem::Version
33
- version: '4'
34
- - - "<"
35
- - !ruby/object:Gem::Version
36
- version: '5'
32
+ version: 2.1.2
37
33
  type: :runtime
38
34
  prerelease: false
39
35
  version_requirements: !ruby/object:Gem::Requirement
40
36
  requirements:
41
37
  - - ">="
42
38
  - !ruby/object:Gem::Version
43
- version: '4'
44
- - - "<"
39
+ version: 2.1.2
40
+ - !ruby/object:Gem::Dependency
41
+ name: gyoku
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
45
  - !ruby/object:Gem::Version
46
- version: '5'
46
+ version: '1.2'
47
+ type: :runtime
48
+ prerelease: false
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '1.2'
47
54
  - !ruby/object:Gem::Dependency
48
- name: wasabi
55
+ name: httpi
49
56
  requirement: !ruby/object:Gem::Requirement
50
57
  requirements:
51
58
  - - ">="
52
59
  - !ruby/object:Gem::Version
53
- version: '3.7'
60
+ version: '4'
54
61
  - - "<"
55
62
  - !ruby/object:Gem::Version
56
- version: '6'
63
+ version: '5'
57
64
  type: :runtime
58
65
  prerelease: false
59
66
  version_requirements: !ruby/object:Gem::Requirement
60
67
  requirements:
61
68
  - - ">="
62
69
  - !ruby/object:Gem::Version
63
- version: '3.7'
70
+ version: '4'
64
71
  - - "<"
65
72
  - !ruby/object:Gem::Version
66
- version: '6'
73
+ version: '5'
67
74
  - !ruby/object:Gem::Dependency
68
- name: akami
75
+ name: mail
69
76
  requirement: !ruby/object:Gem::Requirement
70
77
  requirements:
71
78
  - - "~>"
72
79
  - !ruby/object:Gem::Version
73
- version: '1.2'
80
+ version: '2.5'
74
81
  type: :runtime
75
82
  prerelease: false
76
83
  version_requirements: !ruby/object:Gem::Requirement
77
84
  requirements:
78
85
  - - "~>"
79
86
  - !ruby/object:Gem::Version
80
- version: '1.2'
87
+ version: '2.5'
81
88
  - !ruby/object:Gem::Dependency
82
- name: gyoku
89
+ name: nokogiri
83
90
  requirement: !ruby/object:Gem::Requirement
84
91
  requirements:
85
- - - "~>"
92
+ - - ">="
86
93
  - !ruby/object:Gem::Version
87
- version: '1.2'
94
+ version: 1.8.1
88
95
  type: :runtime
89
96
  prerelease: false
90
97
  version_requirements: !ruby/object:Gem::Requirement
91
98
  requirements:
92
- - - "~>"
99
+ - - ">="
93
100
  - !ruby/object:Gem::Version
94
- version: '1.2'
101
+ version: 1.8.1
95
102
  - !ruby/object:Gem::Dependency
96
- name: builder
103
+ name: nori
97
104
  requirement: !ruby/object:Gem::Requirement
98
105
  requirements:
99
- - - ">="
106
+ - - "~>"
100
107
  - !ruby/object:Gem::Version
101
- version: 2.1.2
108
+ version: '2.7'
102
109
  type: :runtime
103
110
  prerelease: false
104
111
  version_requirements: !ruby/object:Gem::Requirement
105
112
  requirements:
106
- - - ">="
113
+ - - "~>"
107
114
  - !ruby/object:Gem::Version
108
- version: 2.1.2
115
+ version: '2.7'
109
116
  - !ruby/object:Gem::Dependency
110
- name: nokogiri
117
+ name: wasabi
111
118
  requirement: !ruby/object:Gem::Requirement
112
119
  requirements:
113
120
  - - ">="
114
121
  - !ruby/object:Gem::Version
115
- version: 1.8.1
122
+ version: 5.1.0
123
+ - - "<"
124
+ - !ruby/object:Gem::Version
125
+ version: '6'
116
126
  type: :runtime
117
127
  prerelease: false
118
128
  version_requirements: !ruby/object:Gem::Requirement
119
129
  requirements:
120
130
  - - ">="
121
131
  - !ruby/object:Gem::Version
122
- version: 1.8.1
132
+ version: 5.1.0
133
+ - - "<"
134
+ - !ruby/object:Gem::Version
135
+ version: '6'
123
136
  - !ruby/object:Gem::Dependency
124
- name: mail
137
+ name: ostruct
125
138
  requirement: !ruby/object:Gem::Requirement
126
139
  requirements:
127
140
  - - "~>"
128
141
  - !ruby/object:Gem::Version
129
- version: '2.5'
130
- type: :runtime
142
+ version: '0.6'
143
+ type: :development
131
144
  prerelease: false
132
145
  version_requirements: !ruby/object:Gem::Requirement
133
146
  requirements:
134
147
  - - "~>"
135
148
  - !ruby/object:Gem::Version
136
- version: '2.5'
149
+ version: '0.6'
137
150
  - !ruby/object:Gem::Dependency
138
- name: rack
151
+ name: puma
139
152
  requirement: !ruby/object:Gem::Requirement
140
153
  requirements:
141
- - - "<"
154
+ - - "~>"
142
155
  - !ruby/object:Gem::Version
143
- version: '4'
156
+ version: 8.0.2
144
157
  type: :development
145
158
  prerelease: false
146
159
  version_requirements: !ruby/object:Gem::Requirement
147
160
  requirements:
148
- - - "<"
161
+ - - "~>"
149
162
  - !ruby/object:Gem::Version
150
- version: '4'
163
+ version: 8.0.2
151
164
  - !ruby/object:Gem::Dependency
152
- name: puma
165
+ name: rack
153
166
  requirement: !ruby/object:Gem::Requirement
154
167
  requirements:
155
- - - ">="
156
- - !ruby/object:Gem::Version
157
- version: 4.3.8
158
168
  - - "<"
159
169
  - !ruby/object:Gem::Version
160
- version: '7'
170
+ version: '4'
161
171
  type: :development
162
172
  prerelease: false
163
173
  version_requirements: !ruby/object:Gem::Requirement
164
174
  requirements:
165
- - - ">="
166
- - !ruby/object:Gem::Version
167
- version: 4.3.8
168
175
  - - "<"
169
176
  - !ruby/object:Gem::Version
170
- version: '7'
177
+ version: '4'
171
178
  - !ruby/object:Gem::Dependency
172
179
  name: byebug
173
180
  requirement: !ruby/object:Gem::Requirement
@@ -183,61 +190,61 @@ dependencies:
183
190
  - !ruby/object:Gem::Version
184
191
  version: '0'
185
192
  - !ruby/object:Gem::Dependency
186
- name: rake
193
+ name: json
187
194
  requirement: !ruby/object:Gem::Requirement
188
195
  requirements:
189
196
  - - ">="
190
197
  - !ruby/object:Gem::Version
191
- version: 12.3.3
198
+ version: 2.3.0
192
199
  type: :development
193
200
  prerelease: false
194
201
  version_requirements: !ruby/object:Gem::Requirement
195
202
  requirements:
196
203
  - - ">="
197
204
  - !ruby/object:Gem::Version
198
- version: 12.3.3
205
+ version: 2.3.0
199
206
  - !ruby/object:Gem::Dependency
200
- name: rspec
207
+ name: mocha
201
208
  requirement: !ruby/object:Gem::Requirement
202
209
  requirements:
203
210
  - - "~>"
204
211
  - !ruby/object:Gem::Version
205
- version: '3.9'
212
+ version: '0.14'
206
213
  type: :development
207
214
  prerelease: false
208
215
  version_requirements: !ruby/object:Gem::Requirement
209
216
  requirements:
210
217
  - - "~>"
211
218
  - !ruby/object:Gem::Version
212
- version: '3.9'
219
+ version: '0.14'
213
220
  - !ruby/object:Gem::Dependency
214
- name: mocha
221
+ name: rake
215
222
  requirement: !ruby/object:Gem::Requirement
216
223
  requirements:
217
- - - "~>"
224
+ - - ">="
218
225
  - !ruby/object:Gem::Version
219
- version: '0.14'
226
+ version: 12.3.3
220
227
  type: :development
221
228
  prerelease: false
222
229
  version_requirements: !ruby/object:Gem::Requirement
223
230
  requirements:
224
- - - "~>"
231
+ - - ">="
225
232
  - !ruby/object:Gem::Version
226
- version: '0.14'
233
+ version: 12.3.3
227
234
  - !ruby/object:Gem::Dependency
228
- name: json
235
+ name: rspec
229
236
  requirement: !ruby/object:Gem::Requirement
230
237
  requirements:
231
- - - ">="
238
+ - - "~>"
232
239
  - !ruby/object:Gem::Version
233
- version: 2.3.0
240
+ version: '3.9'
234
241
  type: :development
235
242
  prerelease: false
236
243
  version_requirements: !ruby/object:Gem::Requirement
237
244
  requirements:
238
- - - ">="
245
+ - - "~>"
239
246
  - !ruby/object:Gem::Version
240
- version: 2.3.0
247
+ version: '3.9'
241
248
  description: Heavy metal SOAP client
242
249
  email: me@rubiii.com
243
250
  executables: []
@@ -249,9 +256,12 @@ files:
249
256
  - README.md
250
257
  - Rakefile
251
258
  - lib/savon.rb
259
+ - lib/savon/addressing.rb
252
260
  - lib/savon/block_interface.rb
253
261
  - lib/savon/builder.rb
254
262
  - lib/savon/client.rb
263
+ - lib/savon/effective_options.rb
264
+ - lib/savon/faraday_migration_hint.rb
255
265
  - lib/savon/header.rb
256
266
  - lib/savon/http_error.rb
257
267
  - lib/savon/log_message.rb
@@ -263,18 +273,22 @@ files:
263
273
  - lib/savon/operation.rb
264
274
  - lib/savon/options.rb
265
275
  - lib/savon/qualified_message.rb
266
- - lib/savon/request.rb
267
- - lib/savon/request_logger.rb
268
276
  - lib/savon/response.rb
269
277
  - lib/savon/soap_fault.rb
270
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
271
283
  - lib/savon/version.rb
272
- homepage: http://savonrb.com
284
+ homepage: https://savonrb.com
273
285
  licenses:
274
286
  - MIT
275
287
  metadata:
276
288
  rubygems_mfa_required: 'true'
277
- post_install_message:
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
278
292
  rdoc_options: []
279
293
  require_paths:
280
294
  - lib
@@ -289,8 +303,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
289
303
  - !ruby/object:Gem::Version
290
304
  version: '0'
291
305
  requirements: []
292
- rubygems_version: 3.5.6
293
- signing_key:
306
+ rubygems_version: 3.6.9
294
307
  specification_version: 4
295
308
  summary: Heavy metal SOAP client
296
309
  test_files: []
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