Sha256: 14aeca420a67b0e8f03cedc5c2f183ba397bc28da565b563f2f900a0a4a2e957

Contents?: true

Size: 723 Bytes

Versions: 1

Compression:

Stored size: 723 Bytes

Contents

require 'rubygems'
require 'excon'

require "fog/errors"
require "fog/response"

unless Fog.mocking?

  module Fog
    class Connection

      def initialize(url)
        @excon = Excon.new(url)
      end

      def request(params)
        if parser = params.delete(:parser)
          body = Nokogiri::XML::SAX::PushParser.new(parser)
          params[:block] = lambda { |chunk| body << chunk }
        end

        response = @excon.request(params)

        if parser
          body.finish
          response.body = parser.response
        end

        response
      end

    end
  end

else

  module Fog
    class Connection

      def initialize(url)
      end

      def request(params)
      end

    end
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
fog-0.0.30 lib/fog/connection.rb