class Savon::GlobalOptions
Public Class Methods
Savon::Options::new
# File lib/savon/options.rb, line 73 def initialize(options = {}) @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, :use_wsa_headers => false, :no_message_tag => false, :follow_redirects => false, :unwrap => false, :host => nil } options = defaults.merge(options) # this option is a shortcut on the logger which needs to be set # before it can be modified to set the option. delayed_level = options.delete(:log_level) super(options) log_level(delayed_level) unless delayed_level.nil? end
Public Instance Methods
Instruct Savon
what HTTPI adapter it should use instead of default
# File lib/savon/options.rb, line 364 def adapter(adapter) @options[:adapter] = adapter end
HTTP basic auth credentials.
# File lib/savon/options.rb, line 308 def basic_auth(*credentials) @options[:basic_auth] = credentials.flatten end
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
# File lib/savon/options.rb, line 354 def convert_attributes_to(converter = nil, &block) @options[:convert_attributes_to] = block || converter end
Tell Gyoku how to convert Hash key Symbols to XML tags. Accepts one of :lower_camelcase, :camelcase, :upcase, or :none.
# File lib/savon/options.rb, line 334 def convert_request_keys_to(converter) @options[:convert_request_keys_to] = converter end
Instruct Nori whether to delete namespace attributes from XML nodes.
# File lib/savon/options.rb, line 328 def delete_namespace_attributes(delete_namespace_attributes) @options[:delete_namespace_attributes] = delete_namespace_attributes end
HTTP digest auth credentials.
# File lib/savon/options.rb, line 313 def digest_auth(*credentials) @options[:digest_auth] = credentials.flatten end
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.
# File lib/savon/options.rb, line 178 def element_form_default(element_form_default) @options[:element_form_default] = element_form_default end
The encoding to use. Defaults to “UTF-8”.
# File lib/savon/options.rb, line 166 def encoding(encoding) @options[:encoding] = encoding end
SOAP endpoint.
# File lib/savon/options.rb, line 121 def endpoint(endpoint) @options[:endpoint] = endpoint end
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.
# File lib/savon/options.rb, line 185 def env_namespace(env_namespace) @options[:env_namespace] = env_namespace end
A list of XML tags to filter from logged SOAP messages.
# File lib/savon/options.rb, line 229 def filters(*filters) @options[:filters] = filters.flatten end
Instruct requests to follow HTTP redirects.
# File lib/savon/options.rb, line 378 def follow_redirects(follow_redirects) @options[:follow_redirects] = follow_redirects end
A Hash of HTTP headers.
# File lib/savon/options.rb, line 146 def headers(headers) @options[:headers] = headers end
set different host for actions in WSDL
# File lib/savon/options.rb, line 116 def host(host) @options[:host] = host end
Whether or not to log.
# File lib/savon/options.rb, line 200 def log(log) HTTPI.log = log @options[:log] = log end
To log headers or not.
# File lib/savon/options.rb, line 224 def log_headers(log_headers) @options[:log_headers] = log_headers end
Changes the Logger’s log level.
# File lib/savon/options.rb, line 212 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
The logger to use. Defaults to a Savon::Logger instance.
# File lib/savon/options.rb, line 206 def logger(logger) HTTPI.logger = logger @options[:logger] = logger end
Instruct Savon
to create a multipart response if available.
# File lib/savon/options.rb, line 359 def multipart(multipart) @options[:multipart] = multipart end
Target namespace.
# File lib/savon/options.rb, line 126 def namespace(namespace) @options[:namespace] = namespace end
The namespace identifer.
# File lib/savon/options.rb, line 131 def namespace_identifier(identifier) @options[:namespace_identifier] = identifier end
Namespaces for the SOAP envelope.
# File lib/savon/options.rb, line 136 def namespaces(namespaces) @options[:namespaces] = namespaces end
# File lib/savon/options.rb, line 373 def no_message_tag(bool) @options[:no_message_tag] = bool end
NTLM auth credentials.
# File lib/savon/options.rb, line 318 def ntlm(*credentials) @options[:ntlm] = credentials.flatten end
Open timeout in seconds.
# File lib/savon/options.rb, line 151 def open_timeout(open_timeout) @options[:open_timeout] = open_timeout end
Whether to pretty print request and response XML log messages.
# File lib/savon/options.rb, line 234 def pretty_print_xml(pretty_print_xml) @options[:pretty_print_xml] = pretty_print_xml end
Proxy server to use for all requests.
# File lib/savon/options.rb, line 141 def proxy(proxy) @options[:proxy] = proxy unless proxy.nil? end
Whether or not to raise SOAP fault and HTTP errors.
# File lib/savon/options.rb, line 195 def raise_errors(raise_errors) @options[:raise_errors] = raise_errors end
Read timeout in seconds.
# File lib/savon/options.rb, line 156 def read_timeout(read_timeout) @options[:read_timeout] = read_timeout end
The global SOAP header. Expected to be a Hash or responding to to_s.
# File lib/savon/options.rb, line 171 def soap_header(header) @options[:soap_header] = header end
Changes the SOAP version to 1 or 2.
# File lib/savon/options.rb, line 190 def soap_version(soap_version) @options[:soap_version] = soap_version end
Sets the ca cert to use.
# File lib/savon/options.rb, line 289 def ssl_ca_cert(cert) @options[:ssl_ca_cert] = cert end
Sets the ca cert file to use.
# File lib/savon/options.rb, line 284 def ssl_ca_cert_file(file) @options[:ssl_ca_cert_file] = file end
Sets the ca cert path.
# File lib/savon/options.rb, line 298 def ssl_ca_cert_path(path) @options[:ssl_ca_cert_path] = path end
Sets the cert to use.
# File lib/savon/options.rb, line 279 def ssl_cert(cert) @options[:ssl_cert] = cert end
Sets the cert file to use.
# File lib/savon/options.rb, line 274 def ssl_cert_file(file) @options[:ssl_cert_file] = file end
Sets the cert key to use.
# File lib/savon/options.rb, line 264 def ssl_cert_key(key) @options[:ssl_cert_key] = key end
Sets the cert key file to use.
# File lib/savon/options.rb, line 259 def ssl_cert_key_file(file) @options[:ssl_cert_key_file] = file end
Sets the cert key password to use.
# File lib/savon/options.rb, line 269 def ssl_cert_key_password(password) @options[:ssl_cert_key_password] = password end
Sets the ssl cert store.
# File lib/savon/options.rb, line 303 def ssl_cert_store(store) @options[:ssl_cert_store] = store end
# File lib/savon/options.rb, line 293 def ssl_ciphers(ciphers) @options[:ssl_ciphers] = ciphers end
Specifies the SSL version to use.
# File lib/savon/options.rb, line 249 def ssl_max_version(version) @options[:ssl_max_version] = version end
Specifies the SSL version to use.
# File lib/savon/options.rb, line 244 def ssl_min_version(version) @options[:ssl_min_version] = version end
Whether and how to to verify the connection.
# File lib/savon/options.rb, line 254 def ssl_verify_mode(verify_mode) @options[:ssl_verify_mode] = verify_mode end
Specifies the SSL version to use.
# File lib/savon/options.rb, line 239 def ssl_version(version) @options[:ssl_version] = version end
Instruct Nori whether to strip namespaces from XML nodes.
# File lib/savon/options.rb, line 323 def strip_namespaces(strip_namespaces) @options[:strip_namespaces] = strip_namespaces end
Tell Gyoku to unwrap Array of Hashes Accepts a boolean, default to false
# File lib/savon/options.rb, line 340 def unwrap(unwrap) @options[:unwrap] = unwrap end
Enable inclusion of WS-Addressing headers.
# File lib/savon/options.rb, line 369 def use_wsa_headers(use) @options[:use_wsa_headers] = use end
Write timeout in seconds.
# File lib/savon/options.rb, line 161 def write_timeout(write_timeout) @options[:write_timeout] = write_timeout end
Location of the local or remote WSDL document.
# File lib/savon/options.rb, line 111 def wsdl(wsdl_address) @options[:wsdl] = wsdl_address end