Sha256: 5e214998d6de9d64282f417a9fd9b8c5278ae5bcb5dae4d9d5006393813c8588

Contents?: true

Size: 1.11 KB

Versions: 5

Compression:

Stored size: 1.11 KB

Contents

require 'faraday_middleware'
require 'faraday/multipart'
require 'faraday/raise_http_4xx'
require 'faraday/raise_http_5xx'
require 'faraday/parse_slideshare_xml'

module Slideshare
  # @private
  module Connection
    private
    
    def connection(raw=false)
      
      options = {
        :headers => {'Accept' => "application/#{format}", 'User-Agent' => user_agent},
        :ssl => {:verify => false},
        :url => api_endpoint,
      }

      Faraday::Connection.new(options) do |connection|
        connection.use Faraday::Request::Multipart #, authentication
        #connection.use Faraday::Request::OAuth, authentication if authenticated?
        connection.adapter(adapter)
        connection.use Faraday::Response::RaiseHttp5xx
        unless raw
          case format.to_s.downcase
          when 'json' then connection.use Faraday::Response::ParseJson # one can hope
          when 'xml' then connection.use Faraday::Response::ParseSlideshareXml
          end
        end
        connection.use Faraday::Response::RaiseHttp4xx
        connection.use Faraday::Response::Mashify unless raw
      end
    end
    
  end
end

Version data entries

5 entries across 5 versions & 2 rubygems

Version Path
ruby-slideshare-0.1.3 lib/slideshare/connection.rb
ruby-slideshare-0.1.2 lib/slideshare/connection.rb
super-mega-slideshare-0.1.2 lib/slideshare/connection.rb
super-mega-slideshare-0.1.1 lib/slideshare/connection.rb
super-mega-slideshare-0.1.0 lib/slideshare/connection.rb