HTTP
The HTTP module contains HTTP::Client, HTTP::Server and HTTP::WebSocket implementations.
NOTE: To use HTTP, you must explicitly import it with require "http"
Constants
Default maximum permitted combined size (in bytes) of the headers in an HTTP request.
Default maximum permitted size (in bytes) of the request line in an HTTP request.
Class methods
Dequotes an RFC 2616 quoted-string.
require "http"
quoted = %q(\"foo\\bar\")
HTTP.dequote_string(quoted) # => %q("foo\bar")
Format a Time object as a String using the format specified as sane-cookie-date
by RFC 6265 which is
according to RFC 2616 a
RFC 1123 format with explicit
timezone GMT (interpreted as UTC).
require "http"
HTTP.format_time(Time.utc(2016, 2, 15)) # => "Mon, 15 Feb 2016 00:00:00 GMT"
Uses Time::Format::HTTP_DATE as formatter.
Parse a time string using the formats specified by RFC 2616
require "http"
HTTP.parse_time("Sun, 14 Feb 2016 21:00:00 GMT") # => "2016-02-14 21:00:00Z"
HTTP.parse_time("Sunday, 14-Feb-16 21:00:00 GMT") # => "2016-02-14 21:00:00Z"
HTTP.parse_time("Sun Feb 14 21:00:00 2016") # => "2016-02-14 21:00:00Z"
Uses Time::Format::HTTP_DATE as parser.
Encodes a string to an RFC 2616 quoted-string. Encoded string is written to io. May raise when string contains an invalid character.
require "http"
string = %q("foo\ bar")
io = IO::Memory.new
HTTP.quote_string(string, io)
io.rewind
io.gets_to_end # => %q(\"foo\\\ bar\")
Encodes a string to an RFC 2616 quoted-string. May raise when string contains an invalid character.
require "http"
string = %q("foo\ bar")
HTTP.quote_string(string) # => %q(\"foo\\\ bar\")