module Qiitan::HTTP

Public Class Methods

request(url, http_method, use_ssl = false) { |req| ... } click to toggle source
# File lib/qiitan.rb, line 13
def self.request(url, http_method, use_ssl = false)
        uri = URI.parse url

        case http_method
        when :get then
                req = Net::HTTP::Get.new uri.request_uri
        when :post then
                req = Net::HTTP::Post.new uri.request_uri
        when :put then
                req = Net::HTTP::Put.new uri.request_uri
        when :delete then
                req = Net::HTTP::Delete.new uri.request_uri
        end

        yield req if block_given?

        http = Net::HTTP.new uri.host, uri.port
        #http.set_debug_output($stderr)
        http.use_ssl = use_ssl
        res = http.request req

        #2xx系のコードか否かを判定
        #レスポンスの内容チェックは行わない
        if res.kind_of? Net::HTTPSuccess then
                res
        else
                raise 'HTTP Request Failed.'
        end
end