Class: Savon::GlobalOptions
- Includes:
- SharedOptions
- Defined in:
- lib/savon/options.rb
Instance Attribute Summary
Attributes inherited from Options
Instance Method Summary collapse
-
#adapter(adapter) ⇒ Object
Instruct Savon what Faraday adapter it should use instead of default.
-
#basic_auth(*credentials) ⇒ Object
HTTP basic auth credentials.
-
#convert_attributes_to(converter = nil, &block) ⇒ Object
Tell Nori how to convert XML attributes on tags from the SOAP response into Hash keys.
-
#convert_request_keys_to(converter) ⇒ Object
Tell Gyoku how to convert Hash key Symbols to XML tags.
-
#convert_response_tags_to(converter = nil, &block) ⇒ Object
Tell Nori how to convert XML tags from the SOAP response into Hash keys.
-
#delete_namespace_attributes(delete_namespace_attributes) ⇒ Object
Instruct Nori whether to delete namespace attributes from XML nodes.
-
#digest_auth(*credentials) ⇒ Object
HTTP digest auth credentials.
-
#element_form_default(element_form_default) ⇒ Object
Sets whether elements should be :qualified or :unqualified.
-
#encoding(encoding) ⇒ Object
The encoding to use.
-
#endpoint(endpoint) ⇒ Object
SOAP endpoint.
-
#env_namespace(env_namespace) ⇒ Object
Can be used to change the SOAP envelope namespace identifier.
-
#filters(*filters) ⇒ Object
A list of XML tags to filter from logged SOAP messages.
-
#follow_redirects(follow_redirects) ⇒ Object
Instruct requests to follow HTTP redirects.
-
#headers(headers) ⇒ Object
A Hash of HTTP headers.
-
#host(host) ⇒ Object
set different host for actions in WSDL.
-
#initialize(options = {}) ⇒ GlobalOptions
constructor
A new instance of GlobalOptions.
-
#log(log) ⇒ Object
Whether or not to log.
-
#log_headers(log_headers) ⇒ Object
To log headers or not.
-
#log_level(level) ⇒ Object
Changes the Logger's log level.
-
#logger(logger) ⇒ Object
The logger to use.
-
#middlewares(middlewares) ⇒ Object
Provide middlewares for Faraday connections.
-
#multipart(multipart) ⇒ Object
Instruct Savon to create a multipart response if available.
-
#namespace(namespace) ⇒ Object
Target namespace.
-
#namespace_identifier(identifier) ⇒ Object
The namespace identifier.
-
#namespaces(namespaces) ⇒ Object
Namespaces for the SOAP envelope.
- #no_message_tag(bool) ⇒ Object
-
#ntlm(*credentials) ⇒ Object
NTLM auth credentials.
-
#open_timeout(open_timeout) ⇒ Object
Open timeout in seconds.
-
#pretty_print_xml(pretty_print_xml) ⇒ Object
Whether to pretty print request and response XML log messages.
-
#proxy(proxy) ⇒ Object
Proxy server to use for all requests.
-
#raise_errors(raise_errors) ⇒ Object
Whether or not to raise SOAP fault and HTTP errors.
-
#read_timeout(read_timeout) ⇒ Object
Read timeout in seconds.
-
#soap_header(header) ⇒ Object
The global SOAP header.
-
#soap_version(soap_version) ⇒ Object
Changes the SOAP version to 1 or 2.
-
#ssl_ca_cert(cert) ⇒ Object
Sets the ca cert to use.
-
#ssl_ca_cert_file(file) ⇒ Object
Sets the ca cert file to use.
-
#ssl_ca_cert_path(path) ⇒ Object
Sets the ca cert path.
-
#ssl_cert(cert) ⇒ Object
Sets the cert to use.
-
#ssl_cert_file(file) ⇒ Object
Sets the cert file to use.
-
#ssl_cert_key(key) ⇒ Object
Sets the cert key to use.
-
#ssl_cert_key_file(file) ⇒ Object
Sets the cert key file to use.
-
#ssl_cert_key_password(password) ⇒ Object
Sets the cert key password to use.
-
#ssl_cert_store(store) ⇒ Object
Sets the ssl cert store.
- #ssl_ciphers(ciphers) ⇒ Object
-
#ssl_max_version(version) ⇒ Object
Specifies the SSL version to use.
-
#ssl_min_version(version) ⇒ Object
Specifies the SSL version to use.
-
#ssl_verify_mode(verify_mode) ⇒ Object
Whether and how to to verify the connection.
-
#ssl_version(version) ⇒ Object
Specifies the SSL version to use.
-
#strip_namespaces(strip_namespaces) ⇒ Object
Instruct Nori whether to strip namespaces from XML nodes.
-
#unwrap(unwrap) ⇒ Object
Tell Gyoku to unwrap Array of Hashes Accepts a boolean, default to false.
-
#use_wsa_headers(use) ⇒ Object
Enable inclusion of WS-Addressing headers.
-
#write_timeout(write_timeout) ⇒ Object
Write timeout in seconds.
-
#wsdl(wsdl_address) ⇒ Object
Location of the local or remote WSDL document.
Methods included from SharedOptions
#wsse_auth, #wsse_signature, #wsse_timestamp
Methods inherited from Options
#[], #[]=, #deprecate, #include?
Constructor Details
#initialize(options = {}) ⇒ GlobalOptions
Returns a new instance of GlobalOptions.
76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 |
# File 'lib/savon/options.rb', line 76 def initialize( = {}) @option_type = :global defaults = { :encoding => "UTF-8", :soap_version => 1, :namespaces => {}, :logger => Logger.new($stdout), :log => false, :log_headers => true, :filters => [], :pretty_print_xml => false, :raise_errors => true, :strip_namespaces => true, :delete_namespace_attributes => false, :convert_response_tags_to => lambda { |tag| StringUtils.snakecase(tag).to_sym}, :convert_attributes_to => lambda { |k,v| [k,v] }, :multipart => false, :adapter => nil, :middlewares => [], :use_wsa_headers => false, :no_message_tag => false, :follow_redirects => false, :unwrap => false, :host => nil } = defaults.merge() # this option is a shortcut on the logger which needs to be set # before it can be modified to set the option. delayed_level = .delete(:log_level) super() log_level(delayed_level) unless delayed_level.nil? end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class Savon::Options
Instance Method Details
#adapter(adapter) ⇒ Object
Instruct Savon what Faraday adapter it should use instead of default
371 372 373 |
# File 'lib/savon/options.rb', line 371 def adapter(adapter) [:adapter] = adapter end |
#basic_auth(*credentials) ⇒ Object
HTTP basic auth credentials.
314 315 316 |
# File 'lib/savon/options.rb', line 314 def basic_auth(*credentials) [:basic_auth] = credentials.flatten end |
#convert_attributes_to(converter = nil, &block) ⇒ Object
Tell Nori how to convert XML attributes on tags from the SOAP response into Hash keys. Accepts a lambda or a block which receives an XML tag and returns a Hash key. Defaults to doing nothing
361 362 363 |
# File 'lib/savon/options.rb', line 361 def convert_attributes_to(converter = nil, &block) [:convert_attributes_to] = block || converter end |
#convert_request_keys_to(converter) ⇒ Object
Tell Gyoku how to convert Hash key Symbols to XML tags. Accepts one of :lower_camelcase, :camelcase, :upcase, or :none.
341 342 343 |
# File 'lib/savon/options.rb', line 341 def convert_request_keys_to(converter) [:convert_request_keys_to] = converter end |
#convert_response_tags_to(converter = nil, &block) ⇒ Object
Tell Nori how to convert XML tags from the SOAP response into Hash keys. Accepts a lambda or a block which receives an XML tag and returns a Hash key. Defaults to convert tags to snakecase Symbols.
354 355 356 |
# File 'lib/savon/options.rb', line 354 def (converter = nil, &block) [:convert_response_tags_to] = block || converter end |
#delete_namespace_attributes(delete_namespace_attributes) ⇒ Object
Instruct Nori whether to delete namespace attributes from XML nodes.
335 336 337 |
# File 'lib/savon/options.rb', line 335 def delete_namespace_attributes(delete_namespace_attributes) [:delete_namespace_attributes] = delete_namespace_attributes end |
#digest_auth(*credentials) ⇒ Object
HTTP digest auth credentials.
319 320 321 322 |
# File 'lib/savon/options.rb', line 319 def digest_auth(*credentials) deprecate('digest_auth') [:digest_auth] = credentials.flatten end |
#element_form_default(element_form_default) ⇒ Object
Sets whether elements should be :qualified or :unqualified. If you need to use this option, please open an issue and make sure to add your WSDL document for debugging.
182 183 184 |
# File 'lib/savon/options.rb', line 182 def element_form_default(element_form_default) [:element_form_default] = element_form_default end |
#encoding(encoding) ⇒ Object
The encoding to use. Defaults to "UTF-8".
170 171 172 |
# File 'lib/savon/options.rb', line 170 def encoding(encoding) [:encoding] = encoding end |
#endpoint(endpoint) ⇒ Object
SOAP endpoint.
125 126 127 |
# File 'lib/savon/options.rb', line 125 def endpoint(endpoint) [:endpoint] = endpoint end |
#env_namespace(env_namespace) ⇒ Object
Can be used to change the SOAP envelope namespace identifier. If you need to use this option, please open an issue and make sure to add your WSDL document for debugging.
189 190 191 |
# File 'lib/savon/options.rb', line 189 def env_namespace(env_namespace) [:env_namespace] = env_namespace end |
#filters(*filters) ⇒ Object
A list of XML tags to filter from logged SOAP messages.
231 232 233 |
# File 'lib/savon/options.rb', line 231 def filters(*filters) [:filters] = filters.flatten end |
#follow_redirects(follow_redirects) ⇒ Object
Instruct requests to follow HTTP redirects.
385 386 387 |
# File 'lib/savon/options.rb', line 385 def follow_redirects(follow_redirects) [:follow_redirects] = follow_redirects end |
#headers(headers) ⇒ Object
A Hash of HTTP headers.
150 151 152 |
# File 'lib/savon/options.rb', line 150 def headers(headers) [:headers] = headers end |
#host(host) ⇒ Object
set different host for actions in WSDL
120 121 122 |
# File 'lib/savon/options.rb', line 120 def host(host) [:host] = host end |
#log(log) ⇒ Object
Whether or not to log.
204 205 206 |
# File 'lib/savon/options.rb', line 204 def log(log) [:log] = log end |
#log_headers(log_headers) ⇒ Object
To log headers or not.
226 227 228 |
# File 'lib/savon/options.rb', line 226 def log_headers(log_headers) [:log_headers] = log_headers end |
#log_level(level) ⇒ Object
Changes the Logger's log level.
214 215 216 217 218 219 220 221 222 223 |
# File 'lib/savon/options.rb', line 214 def log_level(level) levels = { :debug => 0, :info => 1, :warn => 2, :error => 3, :fatal => 4 } unless levels.include? level raise ArgumentError, "Invalid log level: #{level.inspect}\n" \ "Expected one of: #{levels.keys.inspect}" end [:logger].level = levels[level] end |
#logger(logger) ⇒ Object
The logger to use. Defaults to a Savon::Logger instance.
209 210 211 |
# File 'lib/savon/options.rb', line 209 def logger(logger) [:logger] = logger end |
#middlewares(middlewares) ⇒ Object
Provide middlewares for Faraday connections. The argument is an array, with each element being another array that contains the middleware class and its arguments, in the same way as a normal call to Faraday::RackBuilder#use
See https://lostisland.github.io/faraday/#/middleware/index?id=using-middleware For example:
client = Savon.client( middlewares: [ [Faraday::Request::UrlEncoded], [Faraday::Response::Logger, { bodies: true }], [Faraday::Adapter::NetHttp] ] )
404 405 406 |
# File 'lib/savon/options.rb', line 404 def middlewares(middlewares) [:middlewares] = middlewares end |
#multipart(multipart) ⇒ Object
Instruct Savon to create a multipart response if available.
366 367 368 |
# File 'lib/savon/options.rb', line 366 def multipart(multipart) [:multipart] = multipart end |
#namespace(namespace) ⇒ Object
Target namespace.
130 131 132 |
# File 'lib/savon/options.rb', line 130 def namespace(namespace) [:namespace] = namespace end |
#namespace_identifier(identifier) ⇒ Object
The namespace identifier.
135 136 137 |
# File 'lib/savon/options.rb', line 135 def namespace_identifier(identifier) [:namespace_identifier] = identifier end |
#namespaces(namespaces) ⇒ Object
Namespaces for the SOAP envelope.
140 141 142 |
# File 'lib/savon/options.rb', line 140 def namespaces(namespaces) [:namespaces] = namespaces end |
#no_message_tag(bool) ⇒ Object
380 381 382 |
# File 'lib/savon/options.rb', line 380 def (bool) [:no_message_tag] = bool end |
#ntlm(*credentials) ⇒ Object
NTLM auth credentials.
325 326 327 |
# File 'lib/savon/options.rb', line 325 def ntlm(*credentials) [:ntlm] = credentials.flatten end |
#open_timeout(open_timeout) ⇒ Object
Open timeout in seconds.
155 156 157 |
# File 'lib/savon/options.rb', line 155 def open_timeout(open_timeout) [:open_timeout] = open_timeout end |
#pretty_print_xml(pretty_print_xml) ⇒ Object
Whether to pretty print request and response XML log messages.
236 237 238 |
# File 'lib/savon/options.rb', line 236 def pretty_print_xml(pretty_print_xml) [:pretty_print_xml] = pretty_print_xml end |
#proxy(proxy) ⇒ Object
Proxy server to use for all requests.
145 146 147 |
# File 'lib/savon/options.rb', line 145 def proxy(proxy) [:proxy] = proxy unless proxy.nil? end |
#raise_errors(raise_errors) ⇒ Object
Whether or not to raise SOAP fault and HTTP errors.
199 200 201 |
# File 'lib/savon/options.rb', line 199 def raise_errors(raise_errors) [:raise_errors] = raise_errors end |
#read_timeout(read_timeout) ⇒ Object
Read timeout in seconds.
160 161 162 |
# File 'lib/savon/options.rb', line 160 def read_timeout(read_timeout) [:read_timeout] = read_timeout end |
#soap_header(header) ⇒ Object
The global SOAP header. Expected to be a Hash or responding to #to_s.
175 176 177 |
# File 'lib/savon/options.rb', line 175 def soap_header(header) [:soap_header] = header end |
#soap_version(soap_version) ⇒ Object
Changes the SOAP version to 1 or 2.
194 195 196 |
# File 'lib/savon/options.rb', line 194 def soap_version(soap_version) [:soap_version] = soap_version end |
#ssl_ca_cert(cert) ⇒ Object
Sets the ca cert to use.
294 295 296 297 |
# File 'lib/savon/options.rb', line 294 def ssl_ca_cert(cert) deprecate('ssl_ca_cert') [:ssl_ca_cert] = cert end |
#ssl_ca_cert_file(file) ⇒ Object
Sets the ca cert file to use.
289 290 291 |
# File 'lib/savon/options.rb', line 289 def ssl_ca_cert_file(file) [:ssl_ca_cert_file] = file end |
#ssl_ca_cert_path(path) ⇒ Object
Sets the ca cert path.
304 305 306 |
# File 'lib/savon/options.rb', line 304 def ssl_ca_cert_path(path) [:ssl_ca_cert_path] = path end |
#ssl_cert(cert) ⇒ Object
Sets the cert to use.
284 285 286 |
# File 'lib/savon/options.rb', line 284 def ssl_cert(cert) [:ssl_cert] = cert end |
#ssl_cert_file(file) ⇒ Object
Sets the cert file to use.
278 279 280 281 |
# File 'lib/savon/options.rb', line 278 def ssl_cert_file(file) deprecate('ssl_cert_file') [:ssl_cert_file] = file end |
#ssl_cert_key(key) ⇒ Object
Sets the cert key to use.
267 268 269 |
# File 'lib/savon/options.rb', line 267 def ssl_cert_key(key) [:ssl_cert_key] = key end |
#ssl_cert_key_file(file) ⇒ Object
Sets the cert key file to use.
261 262 263 264 |
# File 'lib/savon/options.rb', line 261 def ssl_cert_key_file(file) deprecate('ssl_cert_key_file') [:ssl_cert_key_file] = file end |
#ssl_cert_key_password(password) ⇒ Object
Sets the cert key password to use.
272 273 274 275 |
# File 'lib/savon/options.rb', line 272 def ssl_cert_key_password(password) deprecate('ssl_cert_key_password') [:ssl_cert_key_password] = password end |
#ssl_cert_store(store) ⇒ Object
Sets the ssl cert store.
309 310 311 |
# File 'lib/savon/options.rb', line 309 def ssl_cert_store(store) [:ssl_cert_store] = store end |
#ssl_ciphers(ciphers) ⇒ Object
299 300 301 |
# File 'lib/savon/options.rb', line 299 def ssl_ciphers(ciphers) [:ssl_ciphers] = ciphers end |
#ssl_max_version(version) ⇒ Object
Specifies the SSL version to use.
251 252 253 |
# File 'lib/savon/options.rb', line 251 def ssl_max_version(version) [:ssl_max_version] = version end |
#ssl_min_version(version) ⇒ Object
Specifies the SSL version to use.
246 247 248 |
# File 'lib/savon/options.rb', line 246 def ssl_min_version(version) [:ssl_min_version] = version end |
#ssl_verify_mode(verify_mode) ⇒ Object
Whether and how to to verify the connection.
256 257 258 |
# File 'lib/savon/options.rb', line 256 def ssl_verify_mode(verify_mode) [:ssl_verify_mode] = verify_mode end |
#ssl_version(version) ⇒ Object
Specifies the SSL version to use.
241 242 243 |
# File 'lib/savon/options.rb', line 241 def ssl_version(version) [:ssl_version] = version end |
#strip_namespaces(strip_namespaces) ⇒ Object
Instruct Nori whether to strip namespaces from XML nodes.
330 331 332 |
# File 'lib/savon/options.rb', line 330 def strip_namespaces(strip_namespaces) [:strip_namespaces] = strip_namespaces end |
#unwrap(unwrap) ⇒ Object
Tell Gyoku to unwrap Array of Hashes Accepts a boolean, default to false
347 348 349 |
# File 'lib/savon/options.rb', line 347 def unwrap(unwrap) [:unwrap] = unwrap end |
#use_wsa_headers(use) ⇒ Object
Enable inclusion of WS-Addressing headers.
376 377 378 |
# File 'lib/savon/options.rb', line 376 def use_wsa_headers(use) [:use_wsa_headers] = use end |
#write_timeout(write_timeout) ⇒ Object
Write timeout in seconds.
165 166 167 |
# File 'lib/savon/options.rb', line 165 def write_timeout(write_timeout) [:write_timeout] = write_timeout end |
#wsdl(wsdl_address) ⇒ Object
Location of the local or remote WSDL document.
115 116 117 |
# File 'lib/savon/options.rb', line 115 def wsdl(wsdl_address) [:wsdl] = wsdl_address end |