Skip to content

2.0.0

Compare
Choose a tag to compare
@kelunik kelunik released this 12 Apr 19:28
· 11 commits to 2.x since this release
v2.0.0
f8bb94a
  • PHP 8.1 is now required
  • Renamed Status and Message to HttpStatus and HttpMessage respectively
  • Added a message parameter to Http2Processor::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 limits
  • Http2Parser::parse() was removed; Http2Parser now has a push() and cancel() methods to push received data and end parsing
  • Added HttpRequest and HttpResponse as abstract base classes for requests and responses
  • HttpRequest now includes methods for getting and setting query parameters
  • Moved Rfc7230 to Http1 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 as Rfc7230::parseHeaderPairs() into a map similar to that returned by Rfc7230::parseHeaders()
  • Passing an int, float, or Stringable as an array value to HttpMessage::setHeaders() will cast the value to a string instead of throwing a TypeError
  • Removed parseFieldValueComponents() and createFieldValueComponentMap(), 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.