Sha256: 96fa9f8b25f4d91d61c7e3b2a6cab620da03389afb353c8b7864de3187648040
Contents?: true
Size: 758 Bytes
Versions: 5
Compression:
Stored size: 758 Bytes
Contents
module Knod class Request attr_reader :socket, :headers, :request_line def initialize(socket) @socket = socket @request_line = socket.gets parse_request end def parse_request headers = {} loop do line = socket.gets break if line == "\r\n" name, value = line.strip.split(": ") headers[name] = value end @headers = headers end def content_length headers["Content-Length"].to_i end def content_type headers["Content-Type"] end def uri @uri ||= request_line.split[1] end def method @verb ||= request_line.split.first.upcase end def body @body ||= socket.read(content_length) end end end
Version data entries
5 entries across 5 versions & 1 rubygems
Version | Path |
---|---|
knod-0.6.2 | lib/knod/request.rb |
knod-0.6.1 | lib/knod/request.rb |
knod-0.4.4 | lib/knod/request.rb |
knod-0.4.3 | lib/knod/request.rb |
knod-0.5.2 | lib/knod/request.rb |