|
Squid Web Cache master
|
common part of ParseBws() and ParseStrctBws()
Classes | |
| class | ChunkExtensionValueParser |
| class | Parser |
| class | RequestParser |
| class | ResponseParser |
| class | Server |
| Manages a connection from an HTTP/1 or HTTP/0.9 client. More... | |
| class | TeChunkedParser |
Typedefs | |
| typedef RefCount< Http::One::Parser > | ParserPointer |
| typedef RefCount< Http::One::RequestParser > | RequestParserPointer |
| typedef RefCount< Http::One::ResponseParser > | ResponseParserPointer |
Enumerations | |
| enum | ParseState { HTTP_PARSE_NONE , HTTP_PARSE_FIRST , HTTP_PARSE_CHUNK_SZ , HTTP_PARSE_CHUNK_EXT , HTTP_PARSE_CHUNK , HTTP_PARSE_MIME , HTTP_PARSE_DONE } |
Functions | |
| const SBuf & | CrLf () |
| CRLF textual representation. | |
| static void | ParseBws_ (Parser::Tokenizer &tok, const CharacterSet &bwsChars) |
| void | ParseBws (Parser::Tokenizer &) |
| void | ParseStrictBws (Parser::Tokenizer &) |
| int | ErrorLevel () |
| the right debugs() level for logging HTTP violation messages | |
| SBuf | tokenOrQuotedString (Parser::Tokenizer &tok, const bool http1p0=false) |
| const SBuf & Http::One::CrLf | ( | ) |
Definition at line 20 of file Parser.cc.
Referenced by Http::One::Parser::cleanMimePrefix(), Http::One::Parser::getHostHeaderField(), Http::One::TeChunkedParser::parseChunkEnd(), Http::One::TeChunkedParser::parseChunkMetadataSuffix(), and Http::One::Parser::skipLineTerminator().
| int Http::One::ErrorLevel | ( | ) |
Definition at line 269 of file Parser.cc.
References Config, DBG_IMPORTANT, SquidConfig::onoff, and SquidConfig::relaxed_header_parser.
Referenced by ParseBws_(), Http::One::RequestParser::parseHttpVersionField(), Http::One::RequestParser::parseMethodField(), Http::One::RequestParser::parseRequestFirstLine(), Http::One::RequestParser::parseUriField(), Http::One::RequestParser::skipDelimiter(), and Http::One::RequestParser::skipTrailingCrs().
| void Http::One::ParseBws | ( | Parser::Tokenizer & | tok | ) |
skips and, if needed, warns about RFC 7230 BWS ("bad" whitespace)
| InsufficientInput | when the end of BWS cannot be confirmed |
Definition at line 297 of file Parser.cc.
References ParseBws_(), and Http::One::Parser::WhitespaceCharacters().
Referenced by Http::One::TeChunkedParser::parseChunkExtensions(), and Http::One::TeChunkedParser::parseOneChunkExtension().
|
static |
Definition at line 277 of file Parser.cc.
References debugs, and ErrorLevel().
Referenced by ParseBws(), and ParseStrictBws().
| void Http::One::ParseStrictBws | ( | Parser::Tokenizer & | tok | ) |
Like ParseBws() but only skips CharacterSet::WSP characters. This variation must be used if the next element may start with CR or any other character from RelaxedDelimiterCharacters().
Definition at line 303 of file Parser.cc.
References ParseBws_(), and CharacterSet::WSP.
Referenced by Http::One::TeChunkedParser::parseChunkMetadataSuffix().
| SBuf Http::One::tokenOrQuotedString | ( | Parser::Tokenizer & | tok, |
| const bool | http1p0 = false |
||
| ) |
Extracts either an HTTP/1 token or quoted-string while dealing with possibly incomplete input typical for incremental text parsers. Unescapes escaped characters in HTTP/1.1 quoted strings.
| http1p0 | whether to prohibit -escaped characters in quoted strings |
| InsufficientInput | as appropriate, including on unterminated tokens |
Governed by:
Definition at line 89 of file Tokenizer.cc.
References parseQuotedStringSuffix(), CharacterSet::TCHAR, and TexcHere.
Referenced by Http::One::ChunkExtensionValueParser::Ignore().