Method: Wpxf::Net::HttpClient#download_file
- Defined in:
- lib/wpxf/net/http_client.rb
#download_file(opts) ⇒ HttpResponse?
Stream a response directly to a file (leaves the body attribute empty).
138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 |
# File 'lib/wpxf/net/http_client.rb', line 138 def download_file(opts) target_file = File.open(opts[:local_filename], 'wb') req = create_typhoeus_request(opts) req.on_headers do |response| return Wpxf::Net::HttpResponse.new(response) if response.code != 200 end req.on_body do |chunk| target_file.write(chunk) end req.on_complete do |response| target_file.close resp = Wpxf::Net::HttpResponse.new(response) resp.body = File.read(opts[:local_filename]) return resp end req.run end |