class Apia::Request
Attributes
api[RW]
api_path[RW]
arguments[W]
authenticator[RW]
controller[RW]
endpoint[RW]
identity[RW]
namespace[RW]
route[RW]
Public Class Methods
empty(options: {})
click to toggle source
# File lib/apia/request.rb, line 20 def self.empty(options: {}) new(options) end
Public Instance Methods
arguments()
click to toggle source
# File lib/apia/request.rb, line 24 def arguments @arguments ||= {} end
body?()
click to toggle source
# File lib/apia/request.rb, line 38 def body? has_header?('rack.input') end
headers()
click to toggle source
# File lib/apia/request.rb, line 28 def headers @headers ||= RequestHeaders.create_from_request(self) end
json_body()
click to toggle source
# File lib/apia/request.rb, line 32 def json_body return @json_body if instance_variable_defined?('@json_body') @json_body = get_json_body_from_body || get_json_body_from_params end
params()
click to toggle source
Calls superclass method
# File lib/apia/request.rb, line 42 def params return {} unless body? super end
Private Instance Methods
get_json_body_from_body()
click to toggle source
# File lib/apia/request.rb, line 58 def get_json_body_from_body return unless content_type =~ /\Aapplication\/json/ return unless body? parse_json_from_string(body.read) end
get_json_body_from_params()
click to toggle source
# File lib/apia/request.rb, line 65 def get_json_body_from_params return unless body? return unless params['_arguments'].is_a?(String) parse_json_from_string(params['_arguments']) end
parse_json_from_string(body)
click to toggle source
# File lib/apia/request.rb, line 50 def parse_json_from_string(body) return {} if body.empty? JSON.parse(body) rescue JSON::ParserError => e raise InvalidJSONError, e.message end