class Smaak::RackAdaptor

Attributes

request[R]

Public Class Methods

new(request) click to toggle source
# File lib/smaak/adaptors/rack_adaptor.rb, line 8
def initialize(request)
  raise ArgumentError.new("Must provide a Rack::Request") unless request.is_a? Rack::Request
  @request = request
end

Public Instance Methods

body() click to toggle source
# File lib/smaak/adaptors/rack_adaptor.rb, line 26
def body
  @request.body
end
header(header) click to toggle source
# File lib/smaak/adaptors/rack_adaptor.rb, line 13
def header(header)
  raise ArgumentError.new("Header must be a non-blank string") unless Smaak::Utils.non_blank_string?(header)
  match_header(header)
end
method() click to toggle source
# File lib/smaak/adaptors/rack_adaptor.rb, line 18
def method
  @request.env["REQUEST_METHOD"]
end
path() click to toggle source
# File lib/smaak/adaptors/rack_adaptor.rb, line 22
def path
  @request.env["PATH_INFO"]
end

Private Instance Methods

content_length() click to toggle source
# File lib/smaak/adaptors/rack_adaptor.rb, line 39
def content_length
  value = @request.env["CONTENT_LENGTH"]
  value = 0 if value.nil?
  return value
end
match_header(header) click to toggle source
# File lib/smaak/adaptors/rack_adaptor.rb, line 32
def match_header(header)
  return content_length if header == "content-length"
  return @request.env["HTTP_HOST"].split(':')[0] if (not @request.env["HTTP_HOST"].nil?) and (header == "host")
  return @request.env["REQUEST_METHOD"] if header == "request-method"
  return @request.env["HTTP_#{header.upcase.gsub("-", "_")}"]
end