PackageTrack
Sign in Get early access

zendframework/zend-http

Abandoned; use laminas/laminas-http. Provides an easy interface for performing Hyper-Text Transfer Protocol (HTTP) requests

2.11.2 25M downloads/mo #2716 most downloaded on Packagist zendframework/zend-http

What this package is like to depend on

Last release 7 years ago

no release in 18 months

Release timing varies

gaps range from 2 weeks to 10 months

Rarely documented

notes for 19 of 79 stable releases

Nothing withdrawn

no release was ever pulled

14 years old

79 releases · first in 2012

0 releases in the last 12 months

see the full history below

Release timeline

53 releases · Oct 2012 to Dec 2019
2013 2015 2017 2019 2021 2023 2025
Release Pre-release

Releases

latest 60 of 79
  1. 2.11.2 30 Dec 2019
    Release notes

    Added

    • Nothing.

    Changed

    • Nothing.

    Deprecated

    • Nothing.

    Removed

    • Nothing.

    Fixed

    • #207 fixes case sensitivity for SameSite directive.
    Open source →
    Release notes

    Added

    • Nothing.

    Changed

    • Nothing.

    Deprecated

    • Nothing.

    Removed

    • Nothing.

    Fixed

    • #207 fixes case sensitivity for SameSite directive.
    Open source →
  2. 2.11.1 04 Dec 2019
    Release notes

    Added

    • Nothing.

    Changed

    • Nothing.

    Deprecated

    • Nothing.

    Removed

    • Nothing.

    Fixed

    • #204 fixes numerous header classes to cast field value to string (since HeaderInterface::getFieldValue() specifies a return value of a string).

    • #182 fixes detecting base uri in Request. Now argv is used only for CLI request as a fallback to detect script filename.

    Open source →
    Release notes

    Added

    • Nothing.

    Changed

    • Nothing.

    Deprecated

    • Nothing.

    Removed

    • Nothing.

    Fixed

    • #204 fixes numerous header classes to cast field value to string (since HeaderInterface::getFieldValue() specifies a return value of a string).

    • #182 fixes detecting base uri in Request. Now argv is used only for CLI request as a fallback to detect script filename.

    Open source →
  3. 2.11.0 03 Dec 2019
    Release notes

    Added

    • #175 adds support for Content Security Policy Level 3 Header directives.

    • #200 adds support for additional directives in Content Security Policy header:

      • block-all-mixed-content,
      • require-sri-for,
      • trusted-types,
      • upgrade-insecure-requests.
    • #177 adds support for Feature Policy header.

    • #186 adds support for SameSite directive in Set-Cookie header.

    Changed

    • #194 changes range of valid HTTP status codes to 100-599 (inclusive).

    Deprecated

    • Nothing.

    Removed

    • Nothing.

    Fixed

    • #200 fixes support for directives without value in Content Security Policy header.
    Open source →
    Release notes

    Added

    • #175 adds support for Content Security Policy Level 3 Header directives.

    • #200 adds support for additional directives in Content Security Policy header:

      • block-all-mixed-content,
      • require-sri-for,
      • trusted-types,
      • upgrade-insecure-requests.
    • #177 adds support for Feature Policy header.

    • #186 adds support for SameSite directive in Set-Cookie header.

    Changed

    • #194 changes range of valid HTTP status codes to 100-599 (inclusive).

    Deprecated

    • Nothing.

    Removed

    • Nothing.

    Fixed

    • #200 fixes support for directives without value in Content Security Policy header.
    Open source →
  4. 2.10.1 02 Dec 2019
    Release notes

    Added

    • Nothing.

    Changed

    • #190 changes ContentSecurityPolicy to allow multiple values. Before it was not possible to provide multiple headers of that type.

    Deprecated

    • Nothing.

    Removed

    • Nothing.

    Fixed

    • #184 fixes responses for request through the proxy with HTTP/1.1 200 Connection established header.

    • #187 fixes infinite recursion on invalid header. Now InvalidArgumentException exception is thrown.

    • #188 fixes Client::setCookies method to properly handle array of SetCookie objects. Per documentation it should be allowed.

    • #189 fixes Headers::toArray method to properly handle headers of the same type. Behaviour was different depends how header has been attached (addHeader or addHeaderLine broken before).

    • #198 fixes merging options in Curl adapter. It was not possible to override integer-key options (constants) set via constructor with method setOptions.

    • #198 fixes allowed options type in Proxy::setOptions. Traversable, array or Zend\Config object is expected.

    • #198 fixes various issues with Proxy adapter.

    • #199 fixes saving resource to the file when streaming while client supports compression. Before, incorrectly, compressed resource was saved into the file.

    Open source →
    Release notes

    Added

    • Nothing.

    Changed

    • #190 changes ContentSecurityPolicy to allow multiple values. Before it was not possible to provide multiple headers of that type.

    Deprecated

    • Nothing.

    Removed

    • Nothing.

    Fixed

    • #184 fixes responses for request through the proxy with HTTP/1.1 200 Connection established header.

    • #187 fixes infinite recursion on invalid header. Now InvalidArgumentException exception is thrown.

    • #188 fixes Client::setCookies method to properly handle array of SetCookie objects. Per documentation it should be allowed.

    • #189 fixes Headers::toArray method to properly handle headers of the same type. Behaviour was different depends how header has been attached (addHeader or addHeaderLine broken before).

    • #198 fixes merging options in Curl adapter. It was not possible to override integer-key options (constants) set via constructor with method setOptions.

    • #198 fixes allowed options type in Proxy::setOptions. Traversable, array or Zend\Config object is expected.

    • #198 fixes various issues with Proxy adapter.

    • #199 fixes saving resource to the file when streaming while client supports compression. Before, incorrectly, compressed resource was saved into the file.

    Open source →
  5. 2.10.0 19 Feb 2019
    Release notes

    Added

    • #173 adds support for HTTP/2 requests and responses.

    Changed

    • Nothing.

    Deprecated

    • Nothing.

    Removed

    • Nothing.

    Fixed

    • Nothing.
    Open source →
    Release notes

    Added

    • #173 adds support for HTTP/2 requests and responses.

    Changed

    • Nothing.

    Deprecated

    • Nothing.

    Removed

    • Nothing.

    Fixed

    • Nothing.
    Open source →
  6. 2.9.1 22 Jan 2019
    Release notes

    Added

    • Nothing.

    Changed

    • Nothing.

    Deprecated

    • Nothing.

    Removed

    • Nothing.

    Fixed

    • #168 fixes a problem when validating the connection timeout for the Curl and
      Socket client adapters; it now correctly identifies both integer and string
      integer values.
    Open source →
    Release notes

    Added

    • Nothing.

    Changed

    • Nothing.

    Deprecated

    • Nothing.

    Removed

    • Nothing.

    Fixed

    • #168 fixes a problem when validating the connection timeout for the Curl and Socket client adapters; it now correctly identifies both integer and string integer values.
    Open source →
  7. 2.9.0 08 Jan 2019
    Release notes

    Added

    • #154 adds the method SetCookie::setEncodeValue(). By default, Set-Cookie
      values are passed through urlencode(); when a boolean false is provided to
      this new method, the raw value will be used instead.

    • #166 adds support for PHP 7.3.

    Changed

    • #154 changes the behavior of SetCookie::fromString() slightly: if the parsed
      cookie value is the same as the one passed through urldecode(), the
      SetCookie header's $encodeValue property will be toggled off to ensure the
      value is not encoded in subsequent serializations, thus retaining the
      integrity of the value between usages.

    • #161 changes how the Socket and Test adapters aggregate headers. Previously,
      they would ucfirst() the header name; now, they correctly leave the header
      names untouched, as header names should be considered case-insensitive.

    • #156 changes how gzip and deflate decompression occur in responses, ensuring
      that if the Content-Length header reports 0, no decompression is attempted,
      and an empty string is returned.

    Deprecated

    • Nothing.

    Removed

    • #166 removes support for zend-stdlib v2 releases.

    Fixed

    • Nothing.
    Open source →
    Release notes

    Added

    • #154 adds the method SetCookie::setEncodeValue(). By default, Set-Cookie values are passed through urlencode(); when a boolean false is provided to this new method, the raw value will be used instead.

    • #166 adds support for PHP 7.3.

    Changed

    • #154 changes the behavior of SetCookie::fromString() slightly: if the parsed cookie value is the same as the one passed through urldecode(), the SetCookie header's $encodeValue property will be toggled off to ensure the value is not encoded in subsequent serializations, thus retaining the integrity of the value between usages.

    • #161 changes how the Socket and Test adapters aggregate headers. Previously, they would ucfirst() the header name; now, they correctly leave the header names untouched, as header names should be considered case-insensitive.

    • #156 changes how gzip and deflate decompression occur in responses, ensuring that if the Content-Length header reports 0, no decompression is attempted, and an empty string is returned.

    Deprecated

    • Nothing.

    Removed

    • #166 removes support for zend-stdlib v2 releases.

    Fixed

    • Nothing.
    Open source →
  8. 2.8.4 07 Feb 2019
    Release notes

    Added

    • Nothing.

    Changed

    • Nothing.

    Deprecated

    • Nothing.

    Removed

    • Nothing.

    Fixed

    • #168 fixes a problem when validating the connection timeout for the Curl and
      Socket client adapters; it now correctly identifies both integer and string
      integer values.
    Open source →
  9. 2.8.3 08 Jan 2019
    Release notes

    Added

    • Nothing.

    Changed

    • Nothing.

    Deprecated

    • Nothing.

    Removed

    • Nothing.

    Fixed

    • #165 fixes detection of the base URL when operating under a CLI environment.

    • #149 provides fixes to Client::setUri() to ensure its status as a relative
      or absolute URI is correctly memoized.

    • #162 fixes a typo in an exception message raised within Cookies::fromString().

    • #121 adds detection for non-numeric connection timeout values as well as
      integer casting to ensure the timeout is set properly in both the Curl and
      Socket adapters.

    Open source →
    Release notes

    Added

    • Nothing.

    Changed

    • Nothing.

    Deprecated

    • Nothing.

    Removed

    • Nothing.

    Fixed

    • #165 fixes detection of the base URL when operating under a CLI environment.

    • #149 provides fixes to Client::setUri() to ensure its status as a relative or absolute URI is correctly memoized.

    • #162 fixes a typo in an exception message raised within Cookies::fromString().

    • #121 adds detection for non-numeric connection timeout values as well as integer casting to ensure the timeout is set properly in both the Curl and Socket adapters.

    Open source →
  10. 2.8.2 13 Aug 2018
    Release notes

    Added

    • Nothing.

    Changed

    • #153 changes the reason phrase associated with the status code 425
      from "Unordered Collection" to "Too Early", corresponding to a new definition
      of the code as specified by the IANA.

    Deprecated

    • Nothing.

    Removed

    • Nothing.

    Fixed

    • #151 fixes how Referer and other location-based headers report problems with
      invalid URLs provided in the header value, raising a Zend\Http\Exception\InvalidArgumentException
      in such cases. This change ensures the behavior is consistent with behavior
      prior to the 2.8.0 release.
    Open source →
    Release notes

    Added

    • Nothing.

    Changed

    • #153 changes the reason phrase associated with the status code 425 from "Unordered Collection" to "Too Early", corresponding to a new definition of the code as specified by the IANA.

    Deprecated

    • Nothing.

    Removed

    • Nothing.

    Fixed

    • #151 fixes how Referer and other location-based headers report problems with invalid URLs provided in the header value, raising a Zend\Http\Exception\InvalidArgumentException in such cases. This change ensures the behavior is consistent with behavior prior to the 2.8.0 release.
    Open source →
  11. 2.8.1 01 Aug 2018
    Release notes

    Added

    • Nothing.

    Changed

    • This release modifies how Zend\Http\PhpEnvironment\Request marshals the request URI. In prior releases, we would attempt to inspect the X-Rewrite-Url and X-Original-Url headers, using their values, if present. These headers are issued by the ISAPI_Rewrite module for IIS (developed by HeliconTech). However, we have no way of guaranteeing that the module is what issued the headers, making it an unreliable source for discovering the URI. As such, we have removed this feature in this release of zend-http.

      If you are developing a zend-mvc application, you can mimic the functionality by adding a bootstrap listener like the following:

      public function onBootstrap(MvcEvent $mvcEvent)
      {
          $request = $mvcEvent->getRequest();
          $requestUri = null;
      
          $httpXRewriteUrl = $request->getHeader('X-Rewrite-Url');
          if ($httpXRewriteUrl) {
              $requestUri = $httpXRewriteUrl->getFieldValue();
          }
      
          $httpXOriginalUrl = $request->getHeader('X-Original-Url');
          if ($httpXOriginalUrl) {
              $requestUri = $httpXOriginalUrl->getFieldValue();
          }
      
          if ($requestUri) {
              $request->setUri($requestUri)
          }
      }
      

      If you use a listener such as the above, make sure you also instruct your web server to strip any incoming headers of the same name so that you can guarantee they are issued by the ISAPI_Rewrite module.

    Deprecated

    • Nothing.

    Removed

    • Nothing.

    Fixed

    • Nothing.
    Open source →
  12. 2.8.0 26 Apr 2018
    Release notes

    Added

    • #135 adds a package suggestion of paragonie/certainty, which provides automated management of cacert.pem files.

    • #143 adds support for PHP 7.2.

    Changed

    • Nothing.

    Deprecated

    • Nothing.

    Removed

    • Nothing.

    Fixed

    • #140 fixes retrieval of headers when multiple headers of the same name are added to the Headers instance; it now ensures that the last header added of the same type is retrieved when it is not a multi-value type. Previous values are overwritten.

    • #112 provides performance improvements when parsing large chunked messages.

    • introduces changes to Response::fromString() to pull the next line of the response and parse it for the status when a 100 status code is initially encountered, per https://tools.ietf.org/html/rfc7231#section-6.2.1

    • #122 fixes an issue with the stream response whereby if the outputstream option is set, the output file was opened twice; it is now opened exactly once.

    • #147 fixes an issue with header retrieval when the header line is malformed. Previously, an exception would be raised if a specific HeaderInterface implementation determined the header line was invalid. Now, Header::has() will return false for such headers, allowing Request::getHeader() to return false or the provided default value. Additionally, in cases where the header name is malformed (e.g., Useragent instead of User-Agent, users can still retrieve by the submitted header name; they will receive a GenericHeader instance in such cases, however.

    • #133 Adds back missing sprintf placeholder in CacheControl exception message

    Open source →
  13. 2.7.0 13 Oct 2017
    Release notes

    Added

    • #110 Adds status codes 226, 308, 444, 499, 510, 599 with their corresponding constants and reason phrases.

    Changed

    • #120 Changes handling of Cookie Max-Age parameter to conform to specification rfc6265#section-5.2.2. Specifically, non-numeric values are ignored and negative numbers are changed to 0.

    Deprecated

    • Nothing.

    Removed

    • #115 dropped php 5.5 support

    Fixed

    • #130 Fixed cURL adapter not resetting headers from previous request when used with output stream.
    Open source →
  14. 2.6.0 31 Jan 2017
    Release notes

    Added

    • #99 added TimeoutException for cURL adapter.
    • #98 added connection timeout (connecttimeout) for cURL and Socket adapters.
    • #97 added support to sslcafile and sslcapath to cURL adapter.

    Deprecated

    • Nothing.

    Removed

    • Nothing.

    Fixed

    • Nothing.
    Open source →
  15. 2.5.6 31 Jan 2017
    Release notes

    Added

    • Nothing.

    Deprecated

    • Nothing.

    Removed

    • Nothing.

    Fixed

    • #107 fixes the Expires header to allow values of 0 or '0'; these now resolve to the start of the unix epoch (1970-01-01).
    • #102 fixes the Curl adapter timeout detection.
    • #93 fixes the Content Security Policy CSP HTTP header when it is none (empty value).
    • #92 fixes the flatten cookies value for array value (also multidimensional).
    • #34 fixes the standard separator (&) for application/x-www-form-urlencoded.
    Open source →
  16. 2.5.5 08 Aug 2016
    Release notes

    Added

    • #44, #45, #46, #47, #48, and #49 prepare the documentation for publication at https://zendframework.github.io/zend-http/

    Deprecated

    • Nothing.

    Removed

    • Nothing.

    Fixed

    • #87 fixes the ContentLength constructor to test for a non null value (vs a falsy value) before validating the value; this ensures 0 values may be specified for the length.
    • #85 fixes infinite recursion on AbstractAccept. If you create a new Accept and try to call getFieldValue(), an infinite recursion and a fatal error happens.
    • #58 avoid triggering a notice with special crafted accept headers. In the case the value of an accept header does not contain an equal sign, an "Undefined offset" notice is triggered.
    Open source →
  17. 2.5.4 04 Feb 2016
    Release notes

    Added

    • Nothing.

    Deprecated

    • Nothing.

    Removed

    • Nothing.

    Fixed

    • #42 updates dependencies to ensure it can work with PHP 5.5+ and 7.0+, as well as zend-stdlib 2.5+/3.0+.
    Open source →
  18. 2.5.3 14 Sep 2015
    Release notes

    Added

    • Nothing.

    Deprecated

    • Nothing.

    Removed

    • Nothing.

    Fixed

    • #23 fixes a BC break introduced with fixes for ZF2015-04, pertaining specifically to the SetCookie header. The fix backs out a check for message splitting syntax, as that particular class already encodes the value in a manner that prevents the attack. It also adds tests to ensure the security vulnerability remains patched.
    Open source →
  19. 2.5.2 05 Aug 2015
    Release notes

    Added

    • Nothing.

    Deprecated

    • Nothing.

    Removed

    • Nothing.

    Fixed

    • #7 fixes a call in the proxy adapter to Response::extractCode(), which does not exist, to Response::fromString()->getStatusCode(), which does.
    • #8 ensures that the Curl client adapter enables the CURLINFO_HEADER_OUT, which is required to ensure we can fetch the raw request after it is sent.
    • #14 fixes Zend\Http\PhpEnvironment\Request to ensure that empty SCRIPT_FILENAME and SCRIPT_NAME values which result in an empty $baseUrl will not raise an E_WARNING when used to do a strpos() check during base URI detection.
    Open source →
  20. 2.5.1 03 Jun 2015

    Nothing published for this version

  21. 2.5.0 03 Jun 2015

    Nothing published for this version

  22. 2.4.13 14 Sep 2015

    Nothing published for this version

  23. 2.4.12 no date

    Nothing published for this version

  24. 2.4.11 no date

    Nothing published for this version

  25. 2.4.10 no date

    Nothing published for this version

  26. 2.4.9 no date

    Nothing published for this version

  27. 2.4.8 no date

    Nothing published for this version

  28. 2.4.7 11 May 2015

    Nothing published for this version

  29. 2.4.6 no date

    Nothing published for this version

  30. 2.4.5 no date

    Nothing published for this version

  31. 2.4.4 no date

    Nothing published for this version

  32. 2.4.3 no date

    Nothing published for this version

  33. 2.4.2 no date

    Nothing published for this version

  34. 2.4.1 07 May 2015

    Nothing published for this version

  35. 2.4.0 27 Mar 2015

    Nothing published for this version

  36. 2.3.9 11 May 2015

    Nothing published for this version

  37. 2.3.8 07 May 2015

    Nothing published for this version

  38. 2.3.7 10 Feb 2015

    Nothing published for this version

  39. 2.3.6 no date

    Nothing published for this version

  40. 2.3.5 no date

    Nothing published for this version

  41. 2.3.4 13 Jan 2015

    Nothing published for this version

  42. 2.3.3 11 Aug 2014

    Nothing published for this version

  43. 2.3.2 no date

    Nothing published for this version

  44. 2.3.1 15 Apr 2014

    Nothing published for this version

  45. 2.3.0 12 Mar 2014

    Nothing published for this version

  46. 2.2.10 05 Mar 2014

    Nothing published for this version

  47. 2.2.9 no date

    Nothing published for this version

  48. 2.2.8 no date

    Nothing published for this version

  49. 2.2.7 no date

    Nothing published for this version

  50. 2.2.6 no date

    Nothing published for this version

  51. 2.2.5 31 Oct 2013

    Nothing published for this version

  52. 2.2.4 21 Aug 2013

    Nothing published for this version

  53. 2.2.3 no date

    Nothing published for this version

  54. 2.2.2 23 Jul 2013

    Nothing published for this version

  55. 2.2.1 12 Jun 2013

    Nothing published for this version

  56. 2.2.0 10 May 2013

    Nothing published for this version

  57. 2.1.6 17 Apr 2013

    Nothing published for this version

  58. 2.1.5 no date

    Nothing published for this version

  59. 2.1.4 13 Mar 2013

    Nothing published for this version

  60. 2.1.3 19 Feb 2013

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive