Sha256: 13933ba8de94dbc53e9f3ffa93db2913f396eff7dd6b33bf2b334dc921f3d260

Contents?: true

Size: 603 Bytes

Versions: 10

Compression:

Stored size: 603 Bytes

Contents

require "faraday/adapter/net_http"

module Berkshelf
  class StreamingFileAdapter < Faraday::Adapter::NetHttp
    def call(env)
      env[:streaming_file] = env[:request_headers].delete(:streaming_file) if env[:request_headers] && env[:request_headers][:streaming_file]
      super
    end

    def perform_request(http, env)
      if env[:streaming_file]
        http.request(create_request(env)) do |response|
          response.read_body do |chunk|
            env[:streaming_file].write(chunk) if response.code == "200"
          end
        end
      else
        super
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
berkshelf-6.3.4 lib/berkshelf/streaming_file_adapter.rb
berkshelf-6.3.3 lib/berkshelf/streaming_file_adapter.rb
berkshelf-6.3.2 lib/berkshelf/streaming_file_adapter.rb
berkshelf-6.3.1 lib/berkshelf/streaming_file_adapter.rb
berkshelf-6.3.0 lib/berkshelf/streaming_file_adapter.rb
berkshelf-6.2.2 lib/berkshelf/streaming_file_adapter.rb
berkshelf-6.2.1 lib/berkshelf/streaming_file_adapter.rb
berkshelf-6.2.0 lib/berkshelf/streaming_file_adapter.rb
berkshelf-6.1.1 lib/berkshelf/streaming_file_adapter.rb
berkshelf-6.1.0 lib/berkshelf/streaming_file_adapter.rb