Class: Berkshelf::StreamingFileAdapter

Inherits:
Faraday::Adapter::NetHttp
  • Object
show all
Defined in:
lib/berkshelf/streaming_file_adapter.rb

Instance Method Summary collapse

Instance Method Details

#call(env) ⇒ Object



5
6
7
8
# File 'lib/berkshelf/streaming_file_adapter.rb', line 5

def call(env)
  env[:streaming_file] = env[:request_headers].delete(:streaming_file) if env[:request_headers] && env[:request_headers][:streaming_file]
  super
end

#perform_request(http, env) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
# File 'lib/berkshelf/streaming_file_adapter.rb', line 10

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