module QNA::RequestInfoMethods
Public Instance Methods
connection()
click to toggle source
# File lib/qna/request_info.rb, line 12 def connection @headers['connection'] end
forwarded_for()
click to toggle source
# File lib/qna/request_info.rb, line 61 def forwarded_for @headers['x-forwarded-for'] end
host()
click to toggle source
# File lib/qna/request_info.rb, line 8 def host @headers['host'] end
method()
click to toggle source
# File lib/qna/request_info.rb, line 24 def method @method ||= @headers[':method'].downcase end
path()
click to toggle source
# File lib/qna/request_info.rb, line 36 def path @path ||= uri.path end
protocol()
click to toggle source
# File lib/qna/request_info.rb, line 20 def protocol @protocol ||= @adapter.protocol end
query()
click to toggle source
# File lib/qna/request_info.rb, line 44 def query return @query if @query @query = (q = uri.query) ? split_query_string(q) : {} end
query_string()
click to toggle source
# File lib/qna/request_info.rb, line 40 def query_string @query_string ||= uri.query end
request_id()
click to toggle source
# File lib/qna/request_info.rb, line 57 def request_id @headers['x-request-id'] end
scheme()
click to toggle source
# File lib/qna/request_info.rb, line 28 def scheme @scheme ||= @headers[':scheme'] end
split_query_string(query)
click to toggle source
# File lib/qna/request_info.rb, line 50 def split_query_string(query) query.split('&').each_with_object({}) do |kv, h| k, v = kv.split('=') h[k.to_sym] = URI.decode_www_form_component(v) end end
upgrade_protocol()
click to toggle source
# File lib/qna/request_info.rb, line 16 def upgrade_protocol connection == 'upgrade' && @headers['upgrade']&.downcase end
uri()
click to toggle source
# File lib/qna/request_info.rb, line 32 def uri @uri ||= URI.parse(@headers[':path'] || '') end