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