mirror of
https://github.com/fog/fog.git
synced 2022-11-09 13:51:43 -05:00
1768f2a37e
Attempting to move to using Fog::XML::SAXParserConnection directly failed because the arguments changed. This adds another compatibility level with two key differences: 1) It's namespaced within XML so stands out as not being part of core 2) It is NOT creating deprecation warnings so can be used as the final step if rewriting to use SAXParserConnection is undesired So when merged Fog::Connection usage will create noise. Fog::XML::Connection works the same way and will be extracted to "fog/xml" when we get to it. Fog::Core::Connection just wraps Excon.request and leaves the response body parsing to the provider.
29 lines
774 B
Ruby
29 lines
774 B
Ruby
require "nokogiri"
|
|
require "fog/core/parser"
|
|
require "fog/xml/sax_parser_connection"
|
|
|
|
module Fog
|
|
|
|
# @note Extracting XML components out of core is a work in progress.
|
|
#
|
|
# The {XML} module includes functionality that is common between APIs using
|
|
# XML to send and receive data.
|
|
#
|
|
# The intent is to provide common code for provider APIs using XML but not
|
|
# require it for those using JSON.
|
|
#
|
|
# @todo Add +require "fog/xml"+ and/or +include Fog::XML+ to providers using
|
|
# its services
|
|
#
|
|
module XML
|
|
class Connection < Fog::XML::SAXParserConnection
|
|
def request(params, &block)
|
|
if (parser = params.delete(:parser))
|
|
super(parser, params)
|
|
else
|
|
original_request(params)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|