class Newark::Request
Public Instance Methods
body()
click to toggle source
# File lib/newark/request.rb, line 23 def body @body ||= @env['rack.input'].read end
headers()
click to toggle source
# File lib/newark/request.rb, line 27 def headers @headers ||= original_headers end
params()
click to toggle source
Calls superclass method
# File lib/newark/request.rb, line 19 def params @params ||= ActiveSupport::HashWithIndifferentAccess.new(super) end
path_info()
click to toggle source
Calls superclass method
# File lib/newark/request.rb, line 15 def path_info @path_info ||= super == '/' ? super : super.sub(/\/$/, '') end
request_id()
click to toggle source
# File lib/newark/request.rb, line 31 def request_id @env['action_dispatch.request_id'] || (@env['rack.request_id'] ||= headers['X-Request-Id'] || SecureRandom.uuid) end
uri()
click to toggle source
# File lib/newark/request.rb, line 7 def uri uri = "#{scheme}://#{host_with_port}#{path_info}" uri << "?#{query_string}" unless query_string.empty? URI(uri) rescue URI::InvalidURIError URI(URI.escape(uri)) end
Protected Instance Methods
original_headers()
click to toggle source
# File lib/newark/request.rb, line 38 def original_headers {}.tap do |headers| env.select { |k, v| k.start_with?('HTTP_') }.each_pair do |k, v| header = k.sub(/^HTTP_/, '').gsub(/_/, '-').split('-').map(&:capitalize).join('-') headers[header] = v end end end