Module: Strelka::Constants::CookieHeader
- Included in:
- Strelka::Cookie
- Defined in:
- lib/strelka/constants.rb
Overview
Constants for parsing Cookie headers, mostly taken from RFC6265 - HTTP State Management Mechanism
http://tools.ietf.org/html/rfc6265
Constant Summary collapse
- CRLF =
Literals
"\r\n"- WSP =
'[\\x20\\t]'- OBS_FOLD =
OWS = *( [ obs-fold ] WSP ) ; "optional" whitespace obs-fold = CRLF
CRLF- OWS =
/(#{OBS_FOLD}#{WSP})*/- CTL =
CTL = <any US-ASCII control character (octets 0 - 31) and DEL (127)>
'[:cntrl:]'- SEPARATORS =
separators = "(" | ")" | "<" | ">" | "@" | "," | ";" | ":" | "" | <"> | "/" | "[" | "]" | "?" | "=" | "| "" | SP | HT
'\\x28\\x29\\x3c\\x3e\\x40' + '\\x2c\\x3b\\x3a\\x5c\\x22' + '\\x2f\\x5b\\x5d\\x3f\\x3d' + '\\x7b\\x7d\x20\x09'
- DQUOTE =
Double-quote
'"'- TOKEN =
token = 1*
%r{ [^#{CTL}#{SEPARATORS}]+ }x
- COOKIE_NAME =
cookie-name = token
/(?<cookie_name>#{TOKEN})/- COOKIE_OCTET =
cookie-octet = %x21 / %x23-2B / %x2D-3A / %x3C-5B / %x5D-7E ; US-ASCII characters excluding CTLs, ; whitespace DQUOTE, comma, semicolon, ; and backslash
'[\x21\x23-\x2b\x2d-\x3a\x3c-\x5b\x5d-\x7e]'- COOKIE_VALUE =
cookie-value = *cookie-octet / ( DQUOTE *cookie-octet DQUOTE )
%r{(?<cookie_value> #{COOKIE_OCTET}* | #{DQUOTE} #{COOKIE_OCTET}*? #{DQUOTE} )}x
- COOKIE_PAIR =
cookie-pair = cookie-name "=" cookie-value
%r{(?<cookie_pair> #{COOKIE_NAME} = #{COOKIE_VALUE} )}x
- COOKIE_VERSION =
Version option (not part of RFC6265)
/;\s*Version=(?<version>\d+)/i