Sha256: 29ec1aae712f9574d57aa0c5f04f20777a984be829481a276f3dad119c1e333e

Contents?: true

Size: 1.14 KB

Versions: 6

Compression:

Stored size: 1.14 KB

Contents

# frozen_string_literal: true

require 'faraday'
class FaradayAdapter < HTTPBaseAdapter
  def send_get_request
    connection.get do |req|
      req.url parse_uri.to_s
      req.headers = @headers
    end
  end

  def send_head_request
    connection.head do |req|
      req.url parse_uri.to_s
      req.headers = @headers
    end
  end

  def send_post_request
    connection.post do |req|
      req.url parse_uri.to_s
      req.headers = @headers
      req.body = @data
    end
  end

  def send_post_form_request
    connection.post do |req|
      req.url parse_uri.to_s
      req.headers = @headers
      req.body = @params
    end
  end

  def send_multipart_post_request
    file_upload = Faraday::UploadIO.new(@params['file'], 'text/plain')

    connection.post do |req|
      req.url parse_uri.to_s
      req.headers = @headers
      req.body = @params.merge('file' => file_upload)
    end
  end

  private

  def connection
    Faraday.new(url: "#{@protocol}://#{@host}:#{@port}") do |faraday|
      faraday.request :multipart
      faraday.request :url_encoded

      faraday.adapter Faraday.default_adapter # make requests with Net::HTTP
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
httplog-1.2.2 spec/adapters/faraday_adapter.rb
httplog-1.2.1 spec/adapters/faraday_adapter.rb
httplog-1.2.0 spec/adapters/faraday_adapter.rb
httplog-1.1.1 spec/adapters/faraday_adapter.rb
httplog-1.1.0 spec/adapters/faraday_adapter.rb
httplog-1.0.3 spec/adapters/faraday_adapter.rb