131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
|
# File 'lib/commands/abstract_command.rb', line 131
def make_request(method, path)
require 'net/http'
require 'net/https'
url = URI.parse( "#{self.url}/#{path}" )
http = proxy_class.new( url.host, url.port )
if url.scheme == 'https'
http.use_ssl = true
http.verify_mode =
options[ :ssl_verify_mode ] || config.ssl_verify_mode || OpenSSL::SSL::VERIFY_PEER
end
http.read_timeout = 300
request_method =
case method
when :get
proxy_class::Get
when :post
proxy_class::Post
when :put
proxy_class::Put
when :delete
proxy_class::Delete
else
raise ArgumentError
end
request = request_method.new( url.path )
request.add_field "User-Agent", "Ruby" unless RUBY_VERSION =~ /^1.9/
yield request if block_given?
if Gem.configuration.verbose.to_s.to_i > 0
warn "#{request.method} #{url.to_s}"
if config.authorization
warn 'use authorization'
else
warn 'no authorization'
end
if http.proxy_address
warn "use proxy at #{http.proxy_address}:#{http.proxy_port}"
end
end
http.request(request)
end
|