Class: Papapi::Request
- Inherits:
-
Object
- Object
- Papapi::Request
- Defined in:
- lib/papapi/request.rb
Direct Known Subclasses
Constant Summary collapse
- SERVER_CLASS_NAME =
'Gpf_Rpc_Server'- RUN_METHOD =
'run'- BODY_DATA_NAME =
'D'
Instance Attribute Summary collapse
-
#class_name ⇒ Object
Returns the value of attribute class_name.
-
#method_name ⇒ Object
Returns the value of attribute method_name.
-
#requests ⇒ Object
readonly
Returns the value of attribute requests.
-
#session ⇒ Object
Returns the value of attribute session.
Instance Method Summary collapse
- #add_request(request) ⇒ Object
-
#initialize(class_name, method_name, session) ⇒ Request
constructor
A new instance of Request.
- #response(http_response) ⇒ Object
- #send ⇒ Object
- #send_now(url, request_body) ⇒ Object
- #set_param(name, value) ⇒ Object
- #set_params(p) ⇒ Object
- #to_data ⇒ Object
Constructor Details
#initialize(class_name, method_name, session) ⇒ Request
14 15 16 17 18 19 20 |
# 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 |
Instance Attribute Details
#class_name ⇒ Object
Returns the value of attribute class_name.
8 9 10 |
# File 'lib/papapi/request.rb', line 8 def class_name @class_name end |
#method_name ⇒ Object
Returns the value of attribute method_name.
8 9 10 |
# File 'lib/papapi/request.rb', line 8 def method_name @method_name end |
#requests ⇒ Object (readonly)
Returns the value of attribute requests.
12 13 14 |
# File 'lib/papapi/request.rb', line 12 def requests @requests end |
#session ⇒ Object
Returns the value of attribute session.
8 9 10 |
# File 'lib/papapi/request.rb', line 8 def session @session end |
Instance Method Details
#add_request(request) ⇒ Object
30 31 32 |
# File 'lib/papapi/request.rb', line 30 def add_request(request) @requests << request end |
#response(http_response) ⇒ Object
58 59 60 |
# File 'lib/papapi/request.rb', line 58 def response(http_response) Response.new(http_response, self) end |
#send ⇒ Object
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
# 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) ⇒ Object
62 63 64 |
# 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) ⇒ Object
22 23 24 |
# File 'lib/papapi/request.rb', line 22 def set_param(name, value) @params[name] = value end |
#set_params(p) ⇒ Object
26 27 28 |
# File 'lib/papapi/request.rb', line 26 def set_params(p) @params = @params.merge(p) end |
#to_data ⇒ Object
34 35 36 37 38 39 |
# File 'lib/papapi/request.rb', line 34 def to_data { "C" => @class_name, "M" => @method_name, }.merge(@params) end |