62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
|
# File 'lib/stubify/server.rb', line 62
def self.forward(request, method, body)
uri = URI(Stubify.options.host)
uri.path = request.path
uri.query = request.query_string
new_req = nil
if method == 'DELETE'
new_req = Net::HTTP::Delete.new(uri)
new_req.body = body
elsif method == 'POST'
new_req = Net::HTTP::Post.new(uri)
new_req.body = body
elsif method == 'PUT'
new_req = Net::HTTP::Put.new(uri)
new_req.body = body
else
new_req = Net::HTTP::Get.new(uri)
end
request.env.each do |key, value|
if key.include?('HTTP_')
new_key = key.dup
new_key.slice!('HTTP_')
new_req[new_key] = value unless ['HOST', 'VERSION'].include?(new_key)
end
end
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == 'https') do |http|
http.request(new_req)
end
return response
end
|