]> git.ipfire.org Git - thirdparty/squid.git/commit - src/http/one/RequestParser.cc
RFC 7230 compliant request-line parser based on Tokenizer API
authorAmos Jeffries <squid3@treenet.co.nz>
Thu, 22 Jan 2015 12:54:08 +0000 (04:54 -0800)
committerAmos Jeffries <squid3@treenet.co.nz>
Thu, 22 Jan 2015 12:54:08 +0000 (04:54 -0800)
commit947ca0c6d0733e2c4f14ef976f1854985c5f1f03
treed9fef62ac40cff2cceaa6660910e0bfd2b2569b1
parent476549749dcb529fcda7221bc88ae90b7edb4197
RFC 7230 compliant request-line parser based on Tokenizer API

Refactor the request-line parser using a Tokenizer.

RFC 7230 requirements provide field terminator/delimiter limitations and
character sets for token validation. Also provides definitions of
boundaries for relaxed/tollerant parsing without needing Squid-specific
RFC violations.

This implementation is slightly stricter regarding whitespace in URLs
than previous implementation. It obeys a SHOULD requirement in RFC 7230
regarding responding with 400 status to those broken request messages.
src/http/one/RequestParser.cc
src/http/one/RequestParser.h
src/tests/testHttp1Parser.cc
src/tests/testHttp1Parser.h