Basic HTTP primitives which can be shared by servers and clients.
Status
and Message
to HttpStatus
and HttpMessage
respectively. Aliases of the old names to the new names exist in this beta version, but may be removed before the stable releaseHttp2Processor::handleShutdown()
Http2Parser
constructor now requires an HPack
instance to be injected, as well as providing parameters for upgrade settings, header size limit, and frame size limitsHttp2Parser::parse()
was removed; Http2Parser
now has a push()
and cancel()
methods to push received data and end parsing*
, +
, and .
(#19)Http2Parser
strtolower
calls, improving performanceHttp2Parser
It's not the task of a parser to apply policy decisions. Additionally, the current policy doesn't work correctly in all normal situations, e.g. larger uploads will trigger this in the client, because the server will send many window increments before sending any payload bytes.GOAWAY
frames breaking the parser loop, no longer processing other frames.Http2Parser
that parses HTTP/2 frames, calling methods on a class implementing Http2Processor
.Message::getRawHeaders()
to expose the original casing of headers. The API is limited to a single method returning all headers, as applications should never depend on the header casing as defined by the HTTP RFCs.Rfc7230::parseRawHeaders()
Rfc7230::formatRawHeaders()
Http2Parser
that parses HTTP/2 frames, calling methods on a class implementing Http2Processor
.formatDateHeader()
SameSite
attribute (#10)