class CommunityZero::Request

A singleton request.

@author Seth Vargo <sethvargo@gmail.com>

Attributes

env[R]

Public Class Methods

new(env) click to toggle source
# File lib/community_zero/request.rb, line 25
def initialize(env)
  @env = env
end

Public Instance Methods

base_uri() click to toggle source
# File lib/community_zero/request.rb, line 29
def base_uri
  @base_uri ||= "#{env['rack.url_scheme']}://#{env['HTTP_HOST']}#{env['SCRIPT_NAME']}"
end
body() click to toggle source
# File lib/community_zero/request.rb, line 45
def body
  @body ||= env['rack.input'].read
end
body=(body) click to toggle source
# File lib/community_zero/request.rb, line 41
def body=(body)
  @body = body
end
method() click to toggle source
# File lib/community_zero/request.rb, line 33
def method
  @env['REQUEST_METHOD']
end
path() click to toggle source
# File lib/community_zero/request.rb, line 37
def path
  @path ||= env['PATH_INFO'].split('/').select { |part| part != "" }
end
query_params() click to toggle source
# File lib/community_zero/request.rb, line 49
def query_params
  @query_params ||= begin
    params = Rack::Request.new(env).GET
    params.keys.each do |key|
      params[key] = URI.unescape(params[key])
    end
    params
  end
end