Class: Sitespec::Request

Inherits:
Object
  • Object
show all
Defined in:
lib/sitespec/request.rb

Instance Method Summary collapse

Constructor Details

#initialize(method, path, params = {}, custom_env = {}) ⇒ Request

Returns a new instance of Request.



6
7
8
9
10
11
# File 'lib/sitespec/request.rb', line 6

def initialize(method, path, params = {}, custom_env = {})
  @custom_env = custom_env
  @method = method
  @params = params
  @path = path
end

Instance Method Details

#envObject



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/sitespec/request.rb', line 13

def env
  @env ||= {
    "HTTPS" => https? ? "on" : "off",
    "HTTP_HOST" => uri.host,
    "PATH_INFO" => uri.path,
    "QUERY_STRING" => uri.query || "",
    "REQUEST_METHOD" => @method.to_s.upcase,
    "REQUEST_URI" => uri.to_s,
    "SERVER_NAME" => uri.hostname,
    "SERVER_PORT" => uri.port,
    "rack.errors" => StringIO.new,
    "rack.input" => StringIO.new,
    "rack.multithread" => false,
    "rack.run_once" => false,
    "rack.url_scheme" => https? ? "http" : "https",
    "rack.version" => [1, 1],
  }.merge(@custom_env)
end

#https?Boolean

Returns:

  • (Boolean)


36
37
38
# File 'lib/sitespec/request.rb', line 36

def https?
  URI::HTTP === uri && uri.https?
end

#uriObject



32
33
34
# File 'lib/sitespec/request.rb', line 32

def uri
  @uri ||= URI.parse(@path)
end