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