Sha256: 873de43840a257df7494f2c616bbcf84be62d80f9e7fab110dd16f2ce0a557e2

Contents?: true

Size: 1006 Bytes

Versions: 1

Compression:

Stored size: 1006 Bytes

Contents

require 'poke/stick/version'
require 'net/http'

module Poke
  class Stick
    class << self
      def post(uri, io, options)
        request = Net::HTTP::Post.new(uri).tap do |r|
          r.body         = io.read # Danger Will Robinson!  What if Big File?
          r.content_type = options[:mimetype]
        end
        process_request request, options
      end

      def get(uri, options)
        request = Net::HTTP::Get.new(uri)
        process_request request, options
      end

      def process_request(request, options)
        uri = request.uri
        response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == 'https') do |http|
          http.request(request)
        end
        print_response response, options
      end

      def print_response(response, options)
        if options[:verbose]
          puts <<-OUT
#{response.code} #{response.msg}
Content-Type: #{response.content_type}

          OUT
        end
        puts response.body
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
poke-stick-0.0.1 lib/poke/stick.rb