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 HTTPI 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.
-
#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.
-
#initialize(options = {}) ⇒ GlobalOptions
constructor
A new instance of GlobalOptions.
-
#log(log) ⇒ Object
Whether or not to log.
-
#log_level(level) ⇒ Object
Changes the Logger's log level.
-
#logger(logger) ⇒ Object
The logger to use.
-
#multipart(multipart) ⇒ Object
Instruct Savon to create a multipart response if available.
-
#namespace(namespace) ⇒ Object
Target namespace.
-
#namespace_identifier(identifier) ⇒ Object
The namespace identifer.
-
#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_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_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.
-
#use_wsa_headers(use) ⇒ Object
Enable inclusion of WS-Addressing headers.
-
#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
Constructor Details
#initialize(options = {}) ⇒ GlobalOptions
Returns a new instance of GlobalOptions.
72 73 74 75 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 |
# File 'lib/savon/options.rb', line 72 def initialize( = {}) @option_type = :global defaults = { :encoding => "UTF-8", :soap_version => 1, :namespaces => {}, :logger => Logger.new($stdout), :log => false, :filters => [], :pretty_print_xml => false, :raise_errors => true, :strip_namespaces => true, :convert_response_tags_to => lambda { |tag| tag.snakecase.to_sym}, :convert_attributes_to => lambda { |k,v| [k,v] }, :multipart => false, :adapter => nil, :use_wsa_headers => false, :no_message_tag => false, :follow_redirects => false, } = 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 HTTPI adapter it should use instead of default
310 311 312 |
# File 'lib/savon/options.rb', line 310 def adapter(adapter) @options[:adapter] = adapter end |
#basic_auth(*credentials) ⇒ Object
HTTP basic auth credentials.
265 266 267 |
# File 'lib/savon/options.rb', line 265 def basic_auth(*credentials) @options[: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
300 301 302 |
# File 'lib/savon/options.rb', line 300 def convert_attributes_to(converter = nil, &block) @options[: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.
286 287 288 |
# File 'lib/savon/options.rb', line 286 def convert_request_keys_to(converter) @options[: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.
293 294 295 |
# File 'lib/savon/options.rb', line 293 def (converter = nil, &block) @options[:convert_response_tags_to] = block || converter end |
#digest_auth(*credentials) ⇒ Object
HTTP digest auth credentials.
270 271 272 |
# File 'lib/savon/options.rb', line 270 def digest_auth(*credentials) @options[: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.
163 164 165 |
# File 'lib/savon/options.rb', line 163 def element_form_default(element_form_default) @options[:element_form_default] = element_form_default end |
#encoding(encoding) ⇒ Object
The encoding to use. Defaults to "UTF-8".
151 152 153 |
# File 'lib/savon/options.rb', line 151 def encoding(encoding) @options[:encoding] = encoding end |
#endpoint(endpoint) ⇒ Object
SOAP endpoint.
111 112 113 |
# File 'lib/savon/options.rb', line 111 def endpoint(endpoint) @options[: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.
170 171 172 |
# File 'lib/savon/options.rb', line 170 def env_namespace(env_namespace) @options[:env_namespace] = env_namespace end |
#filters(*filters) ⇒ Object
A list of XML tags to filter from logged SOAP messages.
209 210 211 |
# File 'lib/savon/options.rb', line 209 def filters(*filters) @options[:filters] = filters.flatten end |
#follow_redirects(follow_redirects) ⇒ Object
Instruct requests to follow HTTP redirects.
324 325 326 |
# File 'lib/savon/options.rb', line 324 def follow_redirects(follow_redirects) @options[:follow_redirects] = follow_redirects end |
#headers(headers) ⇒ Object
A Hash of HTTP headers.
136 137 138 |
# File 'lib/savon/options.rb', line 136 def headers(headers) @options[:headers] = headers end |
#log(log) ⇒ Object
Whether or not to log.
185 186 187 188 |
# File 'lib/savon/options.rb', line 185 def log(log) HTTPI.log = log @options[:log] = log end |
#log_level(level) ⇒ Object
Changes the Logger's log level.
197 198 199 200 201 202 203 204 205 206 |
# File 'lib/savon/options.rb', line 197 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 @options[:logger].level = levels[level] end |
#logger(logger) ⇒ Object
The logger to use. Defaults to a Savon::Logger instance.
191 192 193 194 |
# File 'lib/savon/options.rb', line 191 def logger(logger) HTTPI.logger = logger @options[:logger] = logger end |
#multipart(multipart) ⇒ Object
Instruct Savon to create a multipart response if available.
305 306 307 |
# File 'lib/savon/options.rb', line 305 def multipart(multipart) @options[:multipart] = multipart end |
#namespace(namespace) ⇒ Object
Target namespace.
116 117 118 |
# File 'lib/savon/options.rb', line 116 def namespace(namespace) @options[:namespace] = namespace end |
#namespace_identifier(identifier) ⇒ Object
The namespace identifer.
121 122 123 |
# File 'lib/savon/options.rb', line 121 def namespace_identifier(identifier) @options[:namespace_identifier] = identifier end |
#namespaces(namespaces) ⇒ Object
Namespaces for the SOAP envelope.
126 127 128 |
# File 'lib/savon/options.rb', line 126 def namespaces(namespaces) @options[:namespaces] = namespaces end |
#no_message_tag(bool) ⇒ Object
319 320 321 |
# File 'lib/savon/options.rb', line 319 def (bool) @options[:no_message_tag] = bool end |
#ntlm(*credentials) ⇒ Object
NTLM auth credentials.
275 276 277 |
# File 'lib/savon/options.rb', line 275 def ntlm(*credentials) @options[:ntlm] = credentials.flatten end |
#open_timeout(open_timeout) ⇒ Object
Open timeout in seconds.
141 142 143 |
# File 'lib/savon/options.rb', line 141 def open_timeout(open_timeout) @options[:open_timeout] = open_timeout end |
#pretty_print_xml(pretty_print_xml) ⇒ Object
Whether to pretty print request and response XML log messages.
214 215 216 |
# File 'lib/savon/options.rb', line 214 def pretty_print_xml(pretty_print_xml) @options[:pretty_print_xml] = pretty_print_xml end |
#proxy(proxy) ⇒ Object
Proxy server to use for all requests.
131 132 133 |
# File 'lib/savon/options.rb', line 131 def proxy(proxy) @options[:proxy] = proxy end |
#raise_errors(raise_errors) ⇒ Object
Whether or not to raise SOAP fault and HTTP errors.
180 181 182 |
# File 'lib/savon/options.rb', line 180 def raise_errors(raise_errors) @options[:raise_errors] = raise_errors end |
#read_timeout(read_timeout) ⇒ Object
Read timeout in seconds.
146 147 148 |
# File 'lib/savon/options.rb', line 146 def read_timeout(read_timeout) @options[:read_timeout] = read_timeout end |
#soap_header(header) ⇒ Object
The global SOAP header. Expected to be a Hash or responding to #to_s.
156 157 158 |
# File 'lib/savon/options.rb', line 156 def soap_header(header) @options[:soap_header] = header end |
#soap_version(soap_version) ⇒ Object
Changes the SOAP version to 1 or 2.
175 176 177 |
# File 'lib/savon/options.rb', line 175 def soap_version(soap_version) @options[:soap_version] = soap_version end |
#ssl_ca_cert(cert) ⇒ Object
Sets the ca cert to use.
259 260 261 |
# File 'lib/savon/options.rb', line 259 def ssl_ca_cert(cert) @options[:ssl_ca_cert] = cert end |
#ssl_ca_cert_file(file) ⇒ Object
Sets the ca cert file to use.
254 255 256 |
# File 'lib/savon/options.rb', line 254 def ssl_ca_cert_file(file) @options[:ssl_ca_cert_file] = file end |
#ssl_cert(cert) ⇒ Object
Sets the cert to use.
249 250 251 |
# File 'lib/savon/options.rb', line 249 def ssl_cert(cert) @options[:ssl_cert] = cert end |
#ssl_cert_file(file) ⇒ Object
Sets the cert file to use.
244 245 246 |
# File 'lib/savon/options.rb', line 244 def ssl_cert_file(file) @options[:ssl_cert_file] = file end |
#ssl_cert_key(key) ⇒ Object
Sets the cert key to use.
234 235 236 |
# File 'lib/savon/options.rb', line 234 def ssl_cert_key(key) @options[:ssl_cert_key] = key end |
#ssl_cert_key_file(file) ⇒ Object
Sets the cert key file to use.
229 230 231 |
# File 'lib/savon/options.rb', line 229 def ssl_cert_key_file(file) @options[:ssl_cert_key_file] = file end |
#ssl_cert_key_password(password) ⇒ Object
Sets the cert key password to use.
239 240 241 |
# File 'lib/savon/options.rb', line 239 def ssl_cert_key_password(password) @options[:ssl_cert_key_password] = password end |
#ssl_verify_mode(verify_mode) ⇒ Object
Whether and how to to verify the connection.
224 225 226 |
# File 'lib/savon/options.rb', line 224 def ssl_verify_mode(verify_mode) @options[:ssl_verify_mode] = verify_mode end |
#ssl_version(version) ⇒ Object
Specifies the SSL version to use.
219 220 221 |
# File 'lib/savon/options.rb', line 219 def ssl_version(version) @options[:ssl_version] = version end |
#strip_namespaces(strip_namespaces) ⇒ Object
Instruct Nori whether to strip namespaces from XML nodes.
280 281 282 |
# File 'lib/savon/options.rb', line 280 def strip_namespaces(strip_namespaces) @options[:strip_namespaces] = strip_namespaces end |
#use_wsa_headers(use) ⇒ Object
Enable inclusion of WS-Addressing headers.
315 316 317 |
# File 'lib/savon/options.rb', line 315 def use_wsa_headers(use) @options[:use_wsa_headers] = use end |
#wsdl(wsdl_address) ⇒ Object
Location of the local or remote WSDL document.
106 107 108 |
# File 'lib/savon/options.rb', line 106 def wsdl(wsdl_address) @options[:wsdl] = wsdl_address end |