Releases: amphp/http
Releases · amphp/http
2.1.2
2.1.1
What's Changed
- Security: Fix Denial of Service via HTTP/2 CONTINUATION Frames by @kelunik
References
Full Changelog: v2.1.0...2.1.1
1.7.3
What's Changed
- Security: Fix Denial of Service via HTTP/2 CONTINUATION Frames by @kelunik
References
Full Changelog: v1.7.2...v1.7.3
1.7.2
What's Changed
- Make implicit nullable types explicit by @nicolas-grekas in #28
Full Changelog: v1.7.1...v1.7.2
2.1.0
2.0.0
- PHP 8.1 is now required
- Renamed
Status
andMessage
toHttpStatus
andHttpMessage
respectively - Added a message parameter to
Http2Processor::handleShutdown()
Http2Parser
constructor now requires anHPack
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 apush()
andcancel()
methods to push received data and end parsing- Added
HttpRequest
andHttpResponse
as abstract base classes for requests and responses HttpRequest
now includes methods for getting and setting query parameters- Moved
Rfc7230
toHttp1
sub-namespace. - Renamed header methods using the term "raw" to use "pairs" instead, e.g.,
getRawHeaders()
→getHeaderPairs()
,parseRawHeaders()
→parseHeaderPairs()
- Added
mapHeaderPairs()
function to convert header pairs returned from functions such asRfc7230::parseHeaderPairs()
into a map similar to that returned byRfc7230::parseHeaders()
- Passing an
int
,float
, orStringable
as an array value toHttpMessage::setHeaders()
will cast the value to a string instead of throwing aTypeError
- Removed
parseFieldValueComponents()
andcreateFieldValueComponentMap()
, replacing them with four new functions:splitHeaders()
— Splits comma-separated fields into individual components. Returns null if a syntax error is encountered.parseMultipleHeaderFields()
— Parses a list of key-value pairs from each comma-separated and semi-colon delineated header value. Returns null if a syntax error is encountered.parseSingleHeaderFields()
— Parses a single semi-colon delineated header into key-value pairs.parseHeaderTokens()
— Parses a list of tokens from comma-separated header values.
2.0.0 Beta 3
Removed parseFieldValueComponents()
and createFieldValueComponentMap()
, replacing them with three new functions:
splitHeaders()
— Splits comma-separated fields into individual components. Returns null if a syntax error is encountered.parseMultipleHeaderFields()
— Parses a list of key-value pairs from each comma-separated and semi-colon delineated header value. Returns null if a syntax error is encountered.parseSingleHeaderFields()
— Parses a single semi-colon delineated header into key-value pairs.
v2.0.0 Beta 2
- Added
HttpRequest
andHttpResponse
as abstract base classes for requests and responses.HttpRequest
includes methods for getting and setting query parameters - Moved
Rfc7230
toHttp1
sub-namespace. - Renamed header methods using the term "raw" to use "pairs" instead, e.g.,
getRawHeaders()
→getHeaderPairs()
,parseRawHeaders()
→parseHeaderPairs()
- Added
convertHeaderPairsToMap()
function to convert header pairs returned from functions such asRfc7230::parseHeaderPairs()
into a map similar to that returned byRfc7230::parseHeaders()
. - Passing an
int
,float
, orStringable
as an array value toHttpMessage::setHeaders()
will cast the value to a string instead of throwing aTypeError
.
2.0.0 Beta 1
- PHP 8.1 is now required
- Renamed
Status
andMessage
toHttpStatus
andHttpMessage
respectively. Aliases of the old names to the new names exist in this beta version, but may be removed before the stable release - Added a message parameter to
Http2Processor::handleShutdown()
Http2Parser
constructor now requires anHPack
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 apush()
andcancel()
methods to push received data and end parsing