class Crashbreak::RequestParser
Public Class Methods
new(request_data)
click to toggle source
# File lib/crashbreak/request_parser.rb, line 3 def initialize(request_data) @request = request_data end
Public Instance Methods
request_data() { |request_method_sym, request_path, request_body, request_headers| ... }
click to toggle source
# File lib/crashbreak/request_parser.rb, line 7 def request_data yield(request_method_sym, request_path, request_body, request_headers) end
Private Instance Methods
request_body()
click to toggle source
# File lib/crashbreak/request_parser.rb, line 21 def request_body JSON.parse(request_hash_as_string.gsub('=>', ':')).symbolize_keys end
request_hash_as_string()
click to toggle source
# File lib/crashbreak/request_parser.rb, line 25 def request_hash_as_string @request['rack.request.form_hash'] || @request['RAW_POST_DATA'] || '{}' end
request_headers()
click to toggle source
# File lib/crashbreak/request_parser.rb, line 29 def request_headers {}.tap do |request_headers| @request.select{|key| key.start_with?('HTTP_')}.each do |key, value| request_headers[key.gsub('HTTP_', '')] = value end end end
request_method_sym()
click to toggle source
# File lib/crashbreak/request_parser.rb, line 13 def request_method_sym @request['REQUEST_METHOD'].underscore.to_sym end
request_path()
click to toggle source
# File lib/crashbreak/request_parser.rb, line 17 def request_path @request['PATH_INFO'] end