savon 2.16.0 → 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,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.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Harrington
@@ -10,143 +10,143 @@ 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'
25
+ version: '1.2'
26
26
  - !ruby/object:Gem::Dependency
27
- name: httpi
27
+ name: builder
28
28
  requirement: !ruby/object:Gem::Requirement
29
29
  requirements:
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: '4'
33
- - - "<"
34
- - !ruby/object:Gem::Version
35
- version: '5'
32
+ version: 2.1.2
36
33
  type: :runtime
37
34
  prerelease: false
38
35
  version_requirements: !ruby/object:Gem::Requirement
39
36
  requirements:
40
37
  - - ">="
41
38
  - !ruby/object:Gem::Version
42
- version: '4'
43
- - - "<"
44
- - !ruby/object:Gem::Version
45
- version: '5'
39
+ version: 2.1.2
46
40
  - !ruby/object:Gem::Dependency
47
- name: wasabi
41
+ name: gyoku
48
42
  requirement: !ruby/object:Gem::Requirement
49
43
  requirements:
50
- - - ">="
51
- - !ruby/object:Gem::Version
52
- version: 5.1.0
53
- - - "<"
44
+ - - "~>"
54
45
  - !ruby/object:Gem::Version
55
- version: '6'
46
+ version: '1.2'
56
47
  type: :runtime
57
48
  prerelease: false
58
49
  version_requirements: !ruby/object:Gem::Requirement
59
50
  requirements:
60
- - - ">="
61
- - !ruby/object:Gem::Version
62
- version: 5.1.0
63
- - - "<"
51
+ - - "~>"
64
52
  - !ruby/object:Gem::Version
65
- version: '6'
53
+ version: '1.2'
66
54
  - !ruby/object:Gem::Dependency
67
- name: akami
55
+ name: httpi
68
56
  requirement: !ruby/object:Gem::Requirement
69
57
  requirements:
70
- - - "~>"
58
+ - - ">="
71
59
  - !ruby/object:Gem::Version
72
- version: '1.2'
60
+ version: '4'
61
+ - - "<"
62
+ - !ruby/object:Gem::Version
63
+ version: '5'
73
64
  type: :runtime
74
65
  prerelease: false
75
66
  version_requirements: !ruby/object:Gem::Requirement
76
67
  requirements:
77
- - - "~>"
68
+ - - ">="
78
69
  - !ruby/object:Gem::Version
79
- version: '1.2'
70
+ version: '4'
71
+ - - "<"
72
+ - !ruby/object:Gem::Version
73
+ version: '5'
80
74
  - !ruby/object:Gem::Dependency
81
- name: gyoku
75
+ name: mail
82
76
  requirement: !ruby/object:Gem::Requirement
83
77
  requirements:
84
78
  - - "~>"
85
79
  - !ruby/object:Gem::Version
86
- version: '1.2'
80
+ version: '2.5'
87
81
  type: :runtime
88
82
  prerelease: false
89
83
  version_requirements: !ruby/object:Gem::Requirement
90
84
  requirements:
91
85
  - - "~>"
92
86
  - !ruby/object:Gem::Version
93
- version: '1.2'
87
+ version: '2.5'
94
88
  - !ruby/object:Gem::Dependency
95
- name: builder
89
+ name: nokogiri
96
90
  requirement: !ruby/object:Gem::Requirement
97
91
  requirements:
98
92
  - - ">="
99
93
  - !ruby/object:Gem::Version
100
- version: 2.1.2
94
+ version: 1.8.1
101
95
  type: :runtime
102
96
  prerelease: false
103
97
  version_requirements: !ruby/object:Gem::Requirement
104
98
  requirements:
105
99
  - - ">="
106
100
  - !ruby/object:Gem::Version
107
- version: 2.1.2
101
+ version: 1.8.1
108
102
  - !ruby/object:Gem::Dependency
109
- name: nokogiri
103
+ name: nori
110
104
  requirement: !ruby/object:Gem::Requirement
111
105
  requirements:
112
- - - ">="
106
+ - - "~>"
113
107
  - !ruby/object:Gem::Version
114
- version: 1.8.1
108
+ version: '2.4'
115
109
  type: :runtime
116
110
  prerelease: false
117
111
  version_requirements: !ruby/object:Gem::Requirement
118
112
  requirements:
119
- - - ">="
113
+ - - "~>"
120
114
  - !ruby/object:Gem::Version
121
- version: 1.8.1
115
+ version: '2.4'
122
116
  - !ruby/object:Gem::Dependency
123
- name: mail
117
+ name: wasabi
124
118
  requirement: !ruby/object:Gem::Requirement
125
119
  requirements:
126
- - - "~>"
120
+ - - ">="
127
121
  - !ruby/object:Gem::Version
128
- version: '2.5'
122
+ version: 5.1.0
123
+ - - "<"
124
+ - !ruby/object:Gem::Version
125
+ version: '6'
129
126
  type: :runtime
130
127
  prerelease: false
131
128
  version_requirements: !ruby/object:Gem::Requirement
132
129
  requirements:
133
- - - "~>"
130
+ - - ">="
134
131
  - !ruby/object:Gem::Version
135
- version: '2.5'
132
+ version: 5.1.0
133
+ - - "<"
134
+ - !ruby/object:Gem::Version
135
+ version: '6'
136
136
  - !ruby/object:Gem::Dependency
137
- name: rack
137
+ name: ostruct
138
138
  requirement: !ruby/object:Gem::Requirement
139
139
  requirements:
140
- - - "<"
140
+ - - "~>"
141
141
  - !ruby/object:Gem::Version
142
- version: '4'
142
+ version: '0.6'
143
143
  type: :development
144
144
  prerelease: false
145
145
  version_requirements: !ruby/object:Gem::Requirement
146
146
  requirements:
147
- - - "<"
147
+ - - "~>"
148
148
  - !ruby/object:Gem::Version
149
- version: '4'
149
+ version: '0.6'
150
150
  - !ruby/object:Gem::Dependency
151
151
  name: puma
152
152
  requirement: !ruby/object:Gem::Requirement
@@ -168,19 +168,19 @@ dependencies:
168
168
  - !ruby/object:Gem::Version
169
169
  version: '7'
170
170
  - !ruby/object:Gem::Dependency
171
- name: ostruct
171
+ name: rack
172
172
  requirement: !ruby/object:Gem::Requirement
173
173
  requirements:
174
- - - "~>"
174
+ - - "<"
175
175
  - !ruby/object:Gem::Version
176
- version: '0.6'
176
+ version: '4'
177
177
  type: :development
178
178
  prerelease: false
179
179
  version_requirements: !ruby/object:Gem::Requirement
180
180
  requirements:
181
- - - "~>"
181
+ - - "<"
182
182
  - !ruby/object:Gem::Version
183
- version: '0.6'
183
+ version: '4'
184
184
  - !ruby/object:Gem::Dependency
185
185
  name: byebug
186
186
  requirement: !ruby/object:Gem::Requirement
@@ -196,61 +196,61 @@ dependencies:
196
196
  - !ruby/object:Gem::Version
197
197
  version: '0'
198
198
  - !ruby/object:Gem::Dependency
199
- name: rake
199
+ name: json
200
200
  requirement: !ruby/object:Gem::Requirement
201
201
  requirements:
202
202
  - - ">="
203
203
  - !ruby/object:Gem::Version
204
- version: 12.3.3
204
+ version: 2.3.0
205
205
  type: :development
206
206
  prerelease: false
207
207
  version_requirements: !ruby/object:Gem::Requirement
208
208
  requirements:
209
209
  - - ">="
210
210
  - !ruby/object:Gem::Version
211
- version: 12.3.3
211
+ version: 2.3.0
212
212
  - !ruby/object:Gem::Dependency
213
- name: rspec
213
+ name: mocha
214
214
  requirement: !ruby/object:Gem::Requirement
215
215
  requirements:
216
216
  - - "~>"
217
217
  - !ruby/object:Gem::Version
218
- version: '3.9'
218
+ version: '0.14'
219
219
  type: :development
220
220
  prerelease: false
221
221
  version_requirements: !ruby/object:Gem::Requirement
222
222
  requirements:
223
223
  - - "~>"
224
224
  - !ruby/object:Gem::Version
225
- version: '3.9'
225
+ version: '0.14'
226
226
  - !ruby/object:Gem::Dependency
227
- name: mocha
227
+ name: rake
228
228
  requirement: !ruby/object:Gem::Requirement
229
229
  requirements:
230
- - - "~>"
230
+ - - ">="
231
231
  - !ruby/object:Gem::Version
232
- version: '0.14'
232
+ version: 12.3.3
233
233
  type: :development
234
234
  prerelease: false
235
235
  version_requirements: !ruby/object:Gem::Requirement
236
236
  requirements:
237
- - - "~>"
237
+ - - ">="
238
238
  - !ruby/object:Gem::Version
239
- version: '0.14'
239
+ version: 12.3.3
240
240
  - !ruby/object:Gem::Dependency
241
- name: json
241
+ name: rspec
242
242
  requirement: !ruby/object:Gem::Requirement
243
243
  requirements:
244
- - - ">="
244
+ - - "~>"
245
245
  - !ruby/object:Gem::Version
246
- version: 2.3.0
246
+ version: '3.9'
247
247
  type: :development
248
248
  prerelease: false
249
249
  version_requirements: !ruby/object:Gem::Requirement
250
250
  requirements:
251
- - - ">="
251
+ - - "~>"
252
252
  - !ruby/object:Gem::Version
253
- version: 2.3.0
253
+ version: '3.9'
254
254
  description: Heavy metal SOAP client
255
255
  email: me@rubiii.com
256
256
  executables: []
@@ -276,17 +276,22 @@ files:
276
276
  - lib/savon/operation.rb
277
277
  - lib/savon/options.rb
278
278
  - lib/savon/qualified_message.rb
279
- - lib/savon/request.rb
280
- - lib/savon/request_logger.rb
281
279
  - lib/savon/response.rb
282
280
  - lib/savon/soap_fault.rb
283
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
284
286
  - lib/savon/version.rb
285
287
  homepage: https://savonrb.com
286
288
  licenses:
287
289
  - MIT
288
290
  metadata:
289
291
  rubygems_mfa_required: 'true'
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
290
295
  rdoc_options: []
291
296
  require_paths:
292
297
  - 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