Sha256: 78843202322dfe0acbe5b451b54e9dadf65ea44ce4ab5102c16aff3c208c03dd
Contents?: true
Size: 1.15 KB
Versions: 1
Compression:
Stored size: 1.15 KB
Contents
module Http class Request # Method is given as a lowercase symbol e.g. :get, :post attr_reader :method # "Request URI" as per RFC 2616 # http://www.w3.org/Protocols/rfc2616/rfc2616-sec5.html attr_reader :uri attr_reader :headers, :body, :version # :nodoc: def initialize(method, uri, headers = {}, body = nil, version = "1.1") @method = method.to_s.downcase.to_sym raise UnsupportedMethodError, "unknown method: #{method}" unless METHODS.include? @method @uri = uri.is_a?(URI) ? uri : URI(uri.to_s) @headers = {} headers.each do |name, value| name = name.to_s key = name[CANONICAL_HEADER] key ||= Http.canonicalize_header(name) @headers[key] = value end @body, @version = body, version end # Obtain the given header def [](header) @headers[Http.canonicalize_header(header)] end # Create a Net::HTTP request from this request def to_net_http_request request_class = Net::HTTP.const_get(@method.to_s.capitalize) request = request_class.new(@uri.request_uri, @headers) request.body = @body request end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
http-0.2.0 | lib/http/request.rb |