class Papapi::Request
Constants
- BODY_DATA_NAME
- RUN_METHOD
- SERVER_CLASS_NAME
Attributes
class_name[RW]
method_name[RW]
requests[R]
session[RW]
Public Class Methods
new(class_name, method_name, session)
click to toggle source
# File lib/papapi/request.rb, line 14 def initialize (class_name, method_name, session) @class_name = class_name @method_name = method_name @session = session @params = {} @requests = [] end
Public Instance Methods
add_request(request)
click to toggle source
# File lib/papapi/request.rb, line 30 def add_request(request) @requests << request end
response(http_response)
click to toggle source
# File lib/papapi/request.rb, line 58 def response(http_response) Response.new(http_response, self) end
send()
click to toggle source
# File lib/papapi/request.rb, line 41 def send vars = { "C" => SERVER_CLASS_NAME, "M" => RUN_METHOD, "isFromApi" => "Y", "requests" => ([self] + @requests).map { |r| r.to_data } } vars['S'] = @session.id if @session && @session.id request_body = {BODY_DATA_NAME => vars.to_json } p "REQUEST# #{vars}" if @session.debug http_response = send_now(@session.url, request_body) p "RESPONE# #{http_response.body}" if session.debug response(http_response) end
send_now(url, request_body)
click to toggle source
# File lib/papapi/request.rb, line 62 def send_now(url, request_body) Net::HTTP.post_form(URI.parse(url), request_body) end
set_param(name, value)
click to toggle source
# File lib/papapi/request.rb, line 22 def set_param(name, value) @params[name] = value end
set_params(p)
click to toggle source
# File lib/papapi/request.rb, line 26 def set_params(p) @params = @params.merge(p) end
to_data()
click to toggle source
# File lib/papapi/request.rb, line 34 def to_data { "C" => @class_name, "M" => @method_name, }.merge(@params) end