Module: Qiitan::HTTP

Defined in:
lib/qiitan.rb

Class Method Summary collapse

Class Method Details

.request(url, http_method, use_ssl = false) {|req| ... } ⇒ Object

Yields:

  • (req)


13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# 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