HTTP のためのユーティリティ関数を提供します。
dequote(str) -> String
[permalink][rdoc]与えられた文字列からダブルクオートとバックスラッシュを削除して返します。
escape(str) -> String
[permalink][rdoc]与えられた文字列を数値参照文字列に変換します。
以下の正規表現を使用して変換します。
control = (0x0..0x1f).collect{|c| c.chr }.join + "\x7f" space = " " delims = '<>#%"' unwise = '{}|\\^[]`' nonascii = (0x80..0xff).collect{|c| c.chr }.join /[#{Regexp.escape(control + space + delims + unwise + nonascii)}]/n
escape8bit(str) -> String
[permalink][rdoc]与えられた文字列を数値参照文字列に変換します。
escape_path(str) -> String
[permalink][rdoc]与えられた文字列を数値参照文字列に変換します。
以下の正規表現を使用して変換します。
num = '0123456789' lowalpha = 'abcdefghijklmnopqrstuvwxyz' upalpha = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' mark = '-_.!~*\'()' unreserved = num + lowalpha + upalpha + mark /[^#{Regexp.escape(unreserved + ":@&=+$,")}]/n
load_mime_types(file) -> Hash
[permalink][rdoc]Apache の mime.types ファイル形式の file を読み込み拡張子をキー、MIME タイプを値とするハッシュを返します。キーも値も文字列です。
require 'webrick' p WEBrick::HTTPUtils.load_mime_types('/etc/mime.types') # => {"htm"=>"text/html", "rpm"=>"application/x-rpm", ... }
mime_type(filename, mime_tab) -> String
[permalink][rdoc]ファイル名 filename の拡張子をもとにその MIME タイプを指定された mime_tab から探して文字列として返します。MIME タイプが見つからない場合は "application/octet-stream" を返します。
require 'webrick' include WEBrick::HTTPUtils p mime_type('index.html', DefaultMimeTypes) #=> "text/html" p mime_type('index.html.ja', DefaultMimeTypes) #=> "text/html" p mime_type('index.hoge', DefaultMimeTypes) #=> "application/octet-stream"
parse_header(raw) -> Hash
[permalink][rdoc]HTTP ヘッダをパースして結果をハッシュに格納して返します。
parse_range_header(ranges_specifier)
[permalink][rdoc][TODO] ???
quote(str) -> String
[permalink][rdoc]与えられた文字列をダブルクオートでクオートします。
与えられた文字列に含まれているダブルクオートはバックスラッシュでエスケープします。
split_header_value(str) -> Array
[permalink][rdoc]HTTP ヘッダの値を分割して返します。
unescape(str) -> String
[permalink][rdoc]与えられた文字列を数値参照文字列から元の文字列に変換します。
DefaultMimeTypes -> Hash
[permalink][rdoc]ファイルの拡張子をキー、 MIME Type を値とする要素を持つハッシュです。