Sha256: 786d3bb9816c65d5baa99d81f39e7527b4e15d1c0705aee3b984b3524886b942

Contents?: true

Size: 1.65 KB

Versions: 25

Compression:

Stored size: 1.65 KB

Contents

require 'net/http'
require 'uri'
module Mirage
  module Web
    class FileResponse
      attr_reader :response
      def initialize response
        @response = response
      end

      def save_as path
        @response.save_as(path)
      end
    end

    def http_put url, entity, headers={}
      uri = URI.parse(url)
      request = Net::HTTP::Put.new(uri.request_uri)

      if entity.is_a? File
        request.body_stream=entity
        request.content_length=entity.lstat.size
      else
        request.body=entity
      end
      headers.each { |field, value| request.add_field(field, value) }
      
      Net::HTTP.new(uri.host, uri.port).request(request)
    end

    def http_get url, params={}, headers={}
      uri = URI.parse(url)
      request = Net::HTTP::Get.new(uri.request_uri)
      request.set_form_data params
      headers.each { |field, value| request.add_field(field, value) }
      Net::HTTP.new(uri.host, uri.port).request(request)
    end

    def http_post url, params={}, headers={}
      uri = URI.parse(url)
      request = Net::HTTP::Post.new(uri.request_uri)
      
      params.is_a?(Hash) ? request.set_form_data(params) : request.body = params
        
      headers.each { |field, value| request.add_field(field, value) }
      Net::HTTP.new(uri.host, uri.port).request(request)
    end

    def http_delete url, params={}, headers={}
      uri = URI.parse(url)
      request = Net::HTTP::Delete.new(uri.request_uri)
      params.is_a?(Hash) ? request.set_form_data(params) : request.body = params
      headers.each { |field, value| request.add_field(field, value) }
      Net::HTTP.new(uri.host, uri.port).request(request)
    end

  end
end

Version data entries

25 entries across 25 versions & 1 rubygems

Version Path
mirage-2.4.2 lib/mirage/client/web.rb
mirage-2.4.1 lib/mirage/client/web.rb
mirage-2.4.0 lib/mirage/client/web.rb
mirage-2.3.0 lib/mirage/client/web.rb
mirage-2.2.3 lib/mirage/client/web.rb
mirage-2.2.2 lib/mirage/client/web.rb
mirage-2.1.2 lib/mirage/client/web.rb
mirage-2.0.16 lib/mirage/client/web.rb
mirage-2.0.15 lib/mirage/client/web.rb
mirage-2.0.14 lib/mirage/client/web.rb
mirage-2.0.13 lib/mirage/client/web.rb
mirage-2.0.12 lib/mirage/client/web.rb
mirage-2.0.11 lib/mirage/client/web.rb
mirage-2.0.10 lib/mirage/client/web.rb
mirage-2.0.9 lib/mirage/client/web.rb
mirage-2.0.8 lib/mirage/client/web.rb
mirage-2.0.7 lib/mirage/client/web.rb
mirage-2.0.6 lib/mirage/client/web.rb
mirage-2.0.5 lib/mirage/client/web.rb
mirage-2.0.4 lib/mirage/client/web.rb