amphp/http
Basic HTTP primitives which can be shared by servers and clients.
v2.1.2
14M downloads/mo
#555 most downloaded on Packagist
amphp/http
What this package is like to depend on
Last release 2 years ago
no release in 18 months
Release timing varies
gaps range from 2 weeks to 1.9 years
Some releases are documented
notes for 7 of 19 stable releases
Nothing withdrawn
no release was ever pulled
9 years old
23 releases · first in 2018
0 releases in the last 12 months
see the full history below
Release timeline
23 releases · Jan 2018 to Nov 2024Releases
latest 23-
v2.1.223 Nov 2024Release notes
Open source → -
v2.1.103 Apr 2024Release notes
Open source →What's Changed
- Security: Fix Denial of Service via HTTP/2 CONTINUATION Frames by @kelunik
References
Full Changelog: v2.1.0...2.1.1
-
v2.1.022 Aug 2023Release notes
Open source →- Updated
league/uri-componentsrequirements to^2.4.2 | ^7.1as part of fixing #24 and allowpsr/message@v2 - Changed request query string encoding to use RFC3986 rules to as part of fixing #24
Full Changelog: v2.0.0...v2.1.0
- Updated
-
v2.0.012 Apr 2023Release notes
Open source →- PHP 8.1 is now required
- Renamed
StatusandMessagetoHttpStatusandHttpMessagerespectively - Added a message parameter to
Http2Processor::handleShutdown() Http2Parserconstructor now requires anHPackinstance to be injected, as well as providing parameters for upgrade settings, header size limit, and frame size limitsHttp2Parser::parse()was removed;Http2Parsernow has apush()andcancel()methods to push received data and end parsing- Added
HttpRequestandHttpResponseas abstract base classes for requests and responses HttpRequestnow includes methods for getting and setting query parameters- Moved
Rfc7230toHttp1sub-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, orStringableas 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.
Release notes
Open source →Removed
parseFieldValueComponents()andcreateFieldValueComponentMap(), 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.
Release notes
Open source →- Added
HttpRequestandHttpResponseas abstract base classes for requests and responses.HttpRequestincludes methods for getting and setting query parameters - Moved
Rfc7230toHttp1sub-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, orStringableas an array value toHttpMessage::setHeaders()will cast the value to a string instead of throwing aTypeError.
Release notes
Open source →- PHP 8.1 is now required
- Renamed
StatusandMessagetoHttpStatusandHttpMessagerespectively. 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() Http2Parserconstructor now requires anHPackinstance to be injected, as well as providing parameters for upgrade settings, header size limit, and frame size limitsHttp2Parser::parse()was removed;Http2Parsernow has apush()andcancel()methods to push received data and end parsing
-
v2.0.0-beta.308 Apr 2023 pre-releaseNothing published for this version
-
v2.0.0-beta.226 Mar 2023 pre-releaseNothing published for this version
-
v2.0.0-beta.108 Feb 2023 pre-releaseNothing published for this version
-
v1.7.303 Apr 2024Release notes
Open source →What's Changed
- Security: Fix Denial of Service via HTTP/2 CONTINUATION Frames by @kelunik
References
Full Changelog: v1.7.2...v1.7.3
-
v1.7.221 Mar 2024Release notes
Open source →What's Changed
- Make implicit nullable types explicit by @nicolas-grekas in #28
Full Changelog: v1.7.1...v1.7.2
-
v1.7.108 Feb 2023Release notes
Open source →- Fixed header validation regex to allow names containing
*,+, and.(#19)
- Fixed header validation regex to allow names containing
-
v1.7.016 Oct 2022Nothing published for this version
-
v1.6.328 Nov 2020Nothing published for this version
-
v1.6.222 Nov 2020Nothing published for this version
-
v1.6.111 Sep 2020Nothing published for this version
-
v1.6.014 Jan 2020Nothing published for this version
-
v1.6.0-rc101 Jan 2020 pre-releaseNothing published for this version
-
v1.5.004 Nov 2019Nothing published for this version
-
v1.4.012 Sep 2019Nothing published for this version
-
v1.3.001 Jul 2019Nothing published for this version
-
v1.2.010 Jun 2019Nothing published for this version
-
v1.1.010 Feb 2019Nothing published for this version
-
v1.0.115 Mar 2018Nothing published for this version
-
v1.0.022 Jan 2018Nothing published for this version