savon 2.15.1 → 2.17.0

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,186 @@
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.0
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.4'
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.4'
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:
154
+ - - ">="
155
+ - !ruby/object:Gem::Version
156
+ version: 4.3.8
141
157
  - - "<"
142
158
  - !ruby/object:Gem::Version
143
- version: '4'
159
+ version: '7'
144
160
  type: :development
145
161
  prerelease: false
146
162
  version_requirements: !ruby/object:Gem::Requirement
147
163
  requirements:
164
+ - - ">="
165
+ - !ruby/object:Gem::Version
166
+ version: 4.3.8
148
167
  - - "<"
149
168
  - !ruby/object:Gem::Version
150
- version: '4'
169
+ version: '7'
151
170
  - !ruby/object:Gem::Dependency
152
- name: puma
171
+ name: rack
153
172
  requirement: !ruby/object:Gem::Requirement
154
173
  requirements:
155
- - - ">="
156
- - !ruby/object:Gem::Version
157
- version: 4.3.8
158
174
  - - "<"
159
175
  - !ruby/object:Gem::Version
160
- version: '7'
176
+ version: '4'
161
177
  type: :development
162
178
  prerelease: false
163
179
  version_requirements: !ruby/object:Gem::Requirement
164
180
  requirements:
165
- - - ">="
166
- - !ruby/object:Gem::Version
167
- version: 4.3.8
168
181
  - - "<"
169
182
  - !ruby/object:Gem::Version
170
- version: '7'
183
+ version: '4'
171
184
  - !ruby/object:Gem::Dependency
172
185
  name: byebug
173
186
  requirement: !ruby/object:Gem::Requirement
@@ -183,61 +196,61 @@ dependencies:
183
196
  - !ruby/object:Gem::Version
184
197
  version: '0'
185
198
  - !ruby/object:Gem::Dependency
186
- name: rake
199
+ name: json
187
200
  requirement: !ruby/object:Gem::Requirement
188
201
  requirements:
189
202
  - - ">="
190
203
  - !ruby/object:Gem::Version
191
- version: 12.3.3
204
+ version: 2.3.0
192
205
  type: :development
193
206
  prerelease: false
194
207
  version_requirements: !ruby/object:Gem::Requirement
195
208
  requirements:
196
209
  - - ">="
197
210
  - !ruby/object:Gem::Version
198
- version: 12.3.3
211
+ version: 2.3.0
199
212
  - !ruby/object:Gem::Dependency
200
- name: rspec
213
+ name: mocha
201
214
  requirement: !ruby/object:Gem::Requirement
202
215
  requirements:
203
216
  - - "~>"
204
217
  - !ruby/object:Gem::Version
205
- version: '3.9'
218
+ version: '0.14'
206
219
  type: :development
207
220
  prerelease: false
208
221
  version_requirements: !ruby/object:Gem::Requirement
209
222
  requirements:
210
223
  - - "~>"
211
224
  - !ruby/object:Gem::Version
212
- version: '3.9'
225
+ version: '0.14'
213
226
  - !ruby/object:Gem::Dependency
214
- name: mocha
227
+ name: rake
215
228
  requirement: !ruby/object:Gem::Requirement
216
229
  requirements:
217
- - - "~>"
230
+ - - ">="
218
231
  - !ruby/object:Gem::Version
219
- version: '0.14'
232
+ version: 12.3.3
220
233
  type: :development
221
234
  prerelease: false
222
235
  version_requirements: !ruby/object:Gem::Requirement
223
236
  requirements:
224
- - - "~>"
237
+ - - ">="
225
238
  - !ruby/object:Gem::Version
226
- version: '0.14'
239
+ version: 12.3.3
227
240
  - !ruby/object:Gem::Dependency
228
- name: json
241
+ name: rspec
229
242
  requirement: !ruby/object:Gem::Requirement
230
243
  requirements:
231
- - - ">="
244
+ - - "~>"
232
245
  - !ruby/object:Gem::Version
233
- version: 2.3.0
246
+ version: '3.9'
234
247
  type: :development
235
248
  prerelease: false
236
249
  version_requirements: !ruby/object:Gem::Requirement
237
250
  requirements:
238
- - - ">="
251
+ - - "~>"
239
252
  - !ruby/object:Gem::Version
240
- version: 2.3.0
253
+ version: '3.9'
241
254
  description: Heavy metal SOAP client
242
255
  email: me@rubiii.com
243
256
  executables: []
@@ -263,18 +276,22 @@ files:
263
276
  - lib/savon/operation.rb
264
277
  - lib/savon/options.rb
265
278
  - lib/savon/qualified_message.rb
266
- - lib/savon/request.rb
267
- - lib/savon/request_logger.rb
268
279
  - lib/savon/response.rb
269
280
  - lib/savon/soap_fault.rb
270
281
  - lib/savon/string_utils.rb
282
+ - lib/savon/transport/faraday.rb
283
+ - lib/savon/transport/httpi.rb
284
+ - lib/savon/transport/logging.rb
285
+ - lib/savon/transport/response.rb
271
286
  - lib/savon/version.rb
272
- homepage: http://savonrb.com
287
+ homepage: https://savonrb.com
273
288
  licenses:
274
289
  - MIT
275
290
  metadata:
276
291
  rubygems_mfa_required: 'true'
277
- post_install_message:
292
+ source_code_uri: https://github.com/savonrb/savon
293
+ changelog_uri: https://github.com/savonrb/savon/blob/v2.x/CHANGELOG.md
294
+ bug_tracker_uri: https://github.com/savonrb/savon/issues
278
295
  rdoc_options: []
279
296
  require_paths:
280
297
  - lib
@@ -289,8 +306,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
289
306
  - !ruby/object:Gem::Version
290
307
  version: '0'
291
308
  requirements: []
292
- rubygems_version: 3.5.6
293
- signing_key:
309
+ rubygems_version: 3.6.9
294
310
  specification_version: 4
295
311
  summary: Heavy metal SOAP client
296
312
  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