Sha256: a43e9f309b51fd3266bf26507ef0748dda42b4b3ba135ff9c3b2392e7cea388f

Contents?: true

Size: 1.34 KB

Versions: 11

Compression:

Stored size: 1.34 KB

Contents

gem 'faraday'
require 'faraday'

module Roar
  module Transport
    # Advanced implementation of the HTTP verbs with the Faraday HTTP library
    # (which can, in turn, use adapters based on Net::HTTP or libcurl)
    #
    # Depending on how the Faraday middleware stack is configured, this
    # Transport can support features such as HTTP error code handling,
    # redirects, etc.
    #
    # @see http://rubydoc.info/gems/faraday/file/README.md Faraday README
    class Faraday

      def get_uri(options)
        build_connection(options[:uri], options[:as]).get
      end

      def post_uri(options)
        build_connection(options[:uri], options[:as]).post(nil, options[:body])
      end

      def put_uri(options)
        build_connection(options[:uri], options[:as]).put(nil, options[:body])
      end

      def patch_uri(options)
        build_connection(options[:uri], options[:as]).patch(nil, options[:body])
      end

      def delete_uri(options)
        build_connection(options[:uri], options[:as]).delete
      end

      private

      def build_connection(uri, as)
        ::Faraday::Connection.new(
          :url => uri,
          :headers => { :accept => as, :content_type => as }
        ) do |builder|
          builder.use ::Faraday::Response::RaiseError
          builder.adapter ::Faraday.default_adapter
        end
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 2 rubygems

Version Path
blacklight-spotlight-3.6.0.beta8 vendor/bundle/ruby/3.2.0/gems/roar-1.2.0/lib/roar/transport/faraday.rb
roar-1.2.0 lib/roar/transport/faraday.rb
roar-1.1.1 lib/roar/transport/faraday.rb
roar-1.1.0 lib/roar/transport/faraday.rb
roar-1.0.4 lib/roar/transport/faraday.rb
roar-1.0.3 lib/roar/transport/faraday.rb
roar-1.0.2 lib/roar/transport/faraday.rb
roar-1.0.1 lib/roar/transport/faraday.rb
roar-1.0.0 lib/roar/transport/faraday.rb
roar-1.0.0.beta2 lib/roar/transport/faraday.rb
roar-1.0.0.beta1 lib/roar/transport/faraday.rb