The HTTP module contains HTTP::Client
, HTTP::Server
and HTTP::WebSocket
implementations.
16384
Default maximum permitted combined size (in bytes) of the headers in an HTTP request.
8192
Default maximum permitted size (in bytes) of the request line in an HTTP request.
{"HTTP/1.0", "HTTP/1.1"}
Dequotes an RFC 2616 quoted-string.
Parse a time string using the formats specified by RFC 2616
Encodes a string to an RFC 2616 quoted-string.
Encodes a string to an RFC 2616 quoted-string.
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:00 UTC" HTTP.parse_time("Sunday, 14-Feb-16 21:00:00 GMT") # => "2016-02-14 21:00:00 UTC" HTTP.parse_time("Sun Feb 14 21:00:00 2016") # => "2016-02-14 21:00:00 UTC"
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\")
© 2012–2020 Manas Technology Solutions.
Licensed under the Apache License, Version 2.0.
https://crystal-lang.org/api/0.35.1/HTTP.html