def request(method, opts = {})
client = Rex::Proto::Http::Client.new(server_host, server_port)
begin
vars = { 'method' => method }
opts.each_pair do |k, v|
vars[k] = xlate_param(v)
end
client.set_config('uri_encode_mode' => 'none')
request = client.request_cgi(
'method' => 'POST',
'uri' => server_uri,
'vars_post' => vars
)
response = client.send_recv(request, 300)
if (response.code != 200)
raise RuntimeError, "Invalid response recieved from server."
end
parse_response(response.body)
ensure
client.close
end
end