m6w6/ext-http
2 years agofix recursive calls to curl_multi API from the event handler
Michael Wallner [Mon, 21 Feb 2022 10:06:19 +0000 (11:06 +0100)] 
fix recursive calls to curl_multi API from the event handler

2 years agofix recursive calls to curl_multi API from the user handler
Michael Wallner [Mon, 21 Feb 2022 10:04:09 +0000 (11:04 +0100)] 
fix recursive calls to curl_multi API from the user handler

2 years agoci: test against 7.81
Michael Wallner [Tue, 15 Feb 2022 13:13:37 +0000 (14:13 +0100)] 
ci: test against 7.81

3 years agoci: update recent curl versions
Michael Wallner [Tue, 16 Nov 2021 14:07:45 +0000 (15:07 +0100)] 
ci: update recent curl versions

3 years agoci: add 8.1
Michael Wallner [Tue, 16 Nov 2021 13:54:53 +0000 (14:54 +0100)] 
ci: add 8.1

3 years agoPHP-8.2 compat with __toString
Michael Wallner [Wed, 10 Nov 2021 08:33:07 +0000 (09:33 +0100)] 
PHP-8.2 compat with __toString

3 years agotypo
Michael Wallner [Tue, 9 Nov 2021 13:35:12 +0000 (14:35 +0100)] 
typo

3 years agofollowup to #122
Michael Wallner [Tue, 9 Nov 2021 13:19:25 +0000 (14:19 +0100)] 
followup to #122

3 years agoconfigure: fix libbrotli check
Michael Wallner [Tue, 9 Nov 2021 12:01:53 +0000 (13:01 +0100)] 
configure: fix libbrotli check

3 years agoCURLOPT_TCP_FASTOPEN: no support on Windows
Jan Ehrhardt [Fri, 22 Oct 2021 12:41:34 +0000 (14:41 +0200)] 
CURLOPT_TCP_FASTOPEN: no support on Windows
Fixes https://github.com/m6w6/ext-http/issues/122
Error message:
> Could not set option tcp_fastopen
> (An unknown option was passed in to libcurl)

3 years agorelease 4.2.1 v4.2.1
Michael Wallner [Mon, 13 Sep 2021 10:51:06 +0000 (12:51 +0200)] 
release 4.2.1

* Fixed failing tests with PHP-8.1 (see gh issue #120)
* Fixed configure reliably finding the right libcurl features available
* Fixed cookie handling with libcurl 7.77+ and consistently across all
  supported libcurl versions (follow-up to gh issue #116)

3 years agoMerge branch 'curl-matrix': fix #116
Michael Wallner [Tue, 7 Sep 2021 07:45:02 +0000 (09:45 +0200)] 
Merge branch 'curl-matrix': fix #116

3 years agoexplicit client requeue
Michael Wallner [Thu, 2 Sep 2021 18:35:32 +0000 (20:35 +0200)] 
explicit client requeue

3 years agocurl interop
Michael Wallner [Tue, 7 Sep 2021 06:46:16 +0000 (08:46 +0200)] 
curl interop

3 years agogithub actions: add curl matrix
Michael Wallner [Tue, 31 Aug 2021 12:11:52 +0000 (14:11 +0200)] 
github actions: add curl matrix

3 years agomissing changes for 4.1 and 4.2
Michael Wallner [Thu, 2 Sep 2021 11:39:33 +0000 (13:39 +0200)] 
missing changes for 4.1 and 4.2

3 years agoMerge pull request #121 from m6w6/issue-120
Michael Wallner [Wed, 1 Sep 2021 10:40:35 +0000 (12:40 +0200)] 
Merge pull request #121 from m6w6/issue-120

Fix #120 test failing with 8.1.0RC1

3 years agoFix #120 test failing with 8.1.0RC1 121/head
Remi Collet [Wed, 1 Sep 2021 09:59:31 +0000 (11:59 +0200)] 
Fix #120 test failing with 8.1.0RC1

3 years agorelease 4.2.0 v4.2.0
Michael Wallner [Mon, 30 Aug 2021 12:15:19 +0000 (14:15 +0200)] 
release 4.2.0

* Fixed PHP-8.1 compatibility (see gh issues #114, #115 and #118)
* Fixed cookies failing with libcurl >= 7.77 (see gh issue #116)
* Fixed tests using $_ENV instead of getenv() to find executables in PATH (see gh issue #113)
* Added http\Env::reset(): resets internal HTTP request cache (see gh issue #90)

3 years agorelease 4.2.0
Michael Wallner [Mon, 30 Aug 2021 11:17:52 +0000 (13:17 +0200)] 
release 4.2.0

* Fixed PHP-8.1 compatibility (see gh issues #114, #115 and #118)
* Fixed cookies failing with libcurl >= 7.77 (see gh issue #116)
* Fixed tests using $_ENV instead of getenv() to find executables in PATH (see gh issue #113)
* Added http\Env::reset(): resets internal HTTP request cache (see gh issue #90)

3 years agotest: #90 117/head
Michael Wallner [Mon, 30 Aug 2021 07:21:19 +0000 (09:21 +0200)] 
test: #90

3 years agoadd http\Env::reset(); re: #90
Michael Wallner [Wed, 4 Aug 2021 08:45:57 +0000 (10:45 +0200)] 
add http\Env::reset(); re: #90

3 years agoattempt to fix #118: PHP-8.1 compat
Michael Wallner [Tue, 10 Aug 2021 12:41:20 +0000 (14:41 +0200)] 
attempt to fix #118: PHP-8.1 compat

3 years agogh-actions: ignore E_DEPRECATED for master
Michael Wallner [Mon, 9 Aug 2021 09:01:48 +0000 (11:01 +0200)] 
gh-actions: ignore E_DEPRECATED for master

3 years agofixup message/body serialization
Michael Wallner [Wed, 4 Aug 2021 08:02:39 +0000 (10:02 +0200)] 
fixup message/body serialization

3 years agofix #116: cookies fail with libcurl >= 7.77
Michael Wallner [Mon, 2 Aug 2021 14:58:59 +0000 (16:58 +0200)] 
fix #116: cookies fail with libcurl >= 7.77

3 years agotests: skip Darwin
Michael Wallner [Mon, 2 Aug 2021 14:57:20 +0000 (16:57 +0200)] 
tests: skip Darwin

3 years agotests: skip SecureTransport
Michael Wallner [Mon, 2 Aug 2021 14:43:55 +0000 (16:43 +0200)] 
tests: skip SecureTransport

3 years agotests: skip ~E_DEPRECATED
Michael Wallner [Mon, 2 Aug 2021 14:42:58 +0000 (16:42 +0200)] 
tests: skip ~E_DEPRECATED

3 years agocurl: ssl/falsestart: ignore rc
Michael Wallner [Mon, 2 Aug 2021 14:42:23 +0000 (16:42 +0200)] 
curl: ssl/falsestart: ignore rc

3 years agogitignore: *.dep
Michael Wallner [Mon, 2 Aug 2021 14:16:02 +0000 (16:16 +0200)] 
gitignore: *.dep

3 years agoPHP-8.1 compat
Michael Wallner [Mon, 2 Aug 2021 14:15:09 +0000 (16:15 +0200)] 
PHP-8.1 compat

3 years agoMerge pull request #113 from Whissi/fix-undefined-array-key-PATH
Michael Wallner [Tue, 1 Jun 2021 08:44:01 +0000 (10:44 +0200)] 
Merge pull request #113 from Whissi/fix-undefined-array-key-PATH

tests: use getenv() to access environment variable

3 years agotests: use getenv() to access environment variable 113/head
Thomas Deutschmann [Tue, 18 May 2021 17:55:47 +0000 (19:55 +0200)] 
tests: use getenv() to access environment variable

Fixes

  Warning: Undefined array key "PATH" in pecl-http-4.1.0/work/php8.0/tests/skipif.inc on line 56

3 years agorelease v4.1.0 v4.1.0
Michael Wallner [Mon, 19 Apr 2021 08:20:28 +0000 (10:20 +0200)] 
release v4.1.0

 * Added request options:
  * http\Client\Curl::$abstract_unix_socket
  * http\Client\Curl::$altsvc
  * http\Client\Curl::$altsvc_ctrl
  * http\Client\Curl::$aws_sigv4
  * http\Client\Curl::$doh_url
  * http\Client\Curl::$dns_shuffle_addresses
  * http\Client\Curl::$haproxy_protocol
  * http\Client\Curl::$hsts
  * http\Client\Curl::$hsts_ctrl
  * http\Client\Curl::$http09_allowed
  * http\Client\Curl::$maxage_conn
  * http\Client\Curl::$pinned_publickey
  * http\Client\Curl::$proxy_ssl
  * http\Client\Curl::$socks5_auth
  * http\Client\Curl::$tcp_fastopen
  * http\Client\Curl::$tls13_ciphers
  * http\Client\Curl::$xoauth2_bearer
 * Added request option constants:
  * http\Client\Curl\AUTH_AWS_SIGV4
  * http\Client\Curl\AUTH_BEARER
  * http\Client\Curl\AUTH_NONE
  * http\Client\Curl\HTTP_VERSION_2_PRIOR_KNOWLEDGE
  * http\Client\Curl\HTTP_VERSION_3
  * http\Client\Curl\SSL_VERSION_MAX_*
  * http\Client\Curl\SSL_VERSION_TLSv1_3
 * Added library version constants:
  * http\Client\Curl\Versions\BROTLI
  * http\Client\Curl\Versions\CAINFO
  * http\Client\Curl\Versions\CAPATH
  * http\Client\Curl\Versions\HYPER
  * http\Client\Curl\Versions\ICONV
  * http\Client\Curl\Versions\NGHTTP2
  * http\Client\Curl\Versions\QUIC
  * http\Client\Curl\Versions\ZSTD

3 years agoexplicitly allow null to avoid warning in 8.1
Michael Wallner [Wed, 10 Mar 2021 09:17:01 +0000 (10:17 +0100)] 
explicitly allow null to avoid warning in 8.1

3 years agoconvert_to_explicit_type has been removed upstream
Michael Wallner [Wed, 10 Mar 2021 09:16:30 +0000 (10:16 +0100)] 
convert_to_explicit_type has been removed upstream

3 years agofix package.xml date
Michael Wallner [Tue, 9 Mar 2021 08:52:42 +0000 (09:52 +0100)] 
fix package.xml date

3 years agospl_ce_Countable -> zend_ce_countable
Michael Wallner [Tue, 9 Mar 2021 08:26:43 +0000 (09:26 +0100)] 
spl_ce_Countable -> zend_ce_countable

3 years agofence new altsvc and hsts features
Michael Wallner [Tue, 9 Mar 2021 07:44:20 +0000 (08:44 +0100)] 
fence new altsvc and hsts features

3 years agows
Michael Wallner [Tue, 9 Mar 2021 06:56:45 +0000 (07:56 +0100)] 
ws

3 years agoadd AWS_SIGV4 support
Michael Wallner [Mon, 8 Mar 2021 14:23:39 +0000 (15:23 +0100)] 
add AWS_SIGV4 support

3 years agoadd CURLOPT_HSTS
Michael Wallner [Mon, 8 Mar 2021 13:38:02 +0000 (14:38 +0100)] 
add CURLOPT_HSTS

3 years agoadd CURLOPT_PROXY_ISSUERCERT
Michael Wallner [Mon, 8 Mar 2021 13:15:02 +0000 (14:15 +0100)] 
add CURLOPT_PROXY_ISSUERCERT

3 years agoadd CURLMOPT_MAX_CONCURRENT_STREAMS
Michael Wallner [Mon, 8 Mar 2021 11:19:26 +0000 (12:19 +0100)] 
add CURLMOPT_MAX_CONCURRENT_STREAMS

3 years agoadd CURLINFO_RETRY_AFTER
Michael Wallner [Mon, 8 Mar 2021 11:07:27 +0000 (12:07 +0100)] 
add CURLINFO_RETRY_AFTER

3 years agoadd CURLOPT_MAXAGE_CONN
Michael Wallner [Mon, 8 Mar 2021 10:52:46 +0000 (11:52 +0100)] 
add CURLOPT_MAXAGE_CONN

3 years agono H1 pipelining since libcurl 7.62.0
Michael Wallner [Mon, 8 Mar 2021 09:55:41 +0000 (10:55 +0100)] 
no H1 pipelining since libcurl 7.62.0

3 years agoadd CURLOPT_ALTSVC{,_CTRL} and resp. constants
Michael Wallner [Mon, 8 Mar 2021 09:16:38 +0000 (10:16 +0100)] 
add CURLOPT_ALTSVC{,_CTRL} and resp. constants

3 years agoadd CURLOPT_HTTP09_ALLOWED
Michael Wallner [Mon, 8 Mar 2021 08:32:50 +0000 (09:32 +0100)] 
add CURLOPT_HTTP09_ALLOWED

3 years agoadd CURLOPT_DOH_URL
Michael Wallner [Fri, 5 Mar 2021 16:18:39 +0000 (17:18 +0100)] 
add CURLOPT_DOH_URL

3 years agoadd CURLAUTH_BEARER and CURLOPT_XOAUTH2_BEARER
Michael Wallner [Fri, 5 Mar 2021 15:54:40 +0000 (16:54 +0100)] 
add CURLAUTH_BEARER and CURLOPT_XOAUTH2_BEARER

3 years agoadd CURLOPT_{,PROXY}_TLS13_CIPHERS
Michael Wallner [Fri, 5 Mar 2021 15:42:35 +0000 (16:42 +0100)] 
add CURLOPT_{,PROXY}_TLS13_CIPHERS

3 years agoadd request option proxy_ssl.pinned_publickey
Michael Wallner [Fri, 5 Mar 2021 15:37:56 +0000 (16:37 +0100)] 
add request option proxy_ssl.pinned_publickey

3 years agoadd proxy_ssl request options
Michael Wallner [Fri, 5 Mar 2021 10:47:34 +0000 (11:47 +0100)] 
add proxy_ssl request options

3 years agofix old and add new http\Client\Curl\Versions constants
Michael Wallner [Fri, 5 Mar 2021 09:36:52 +0000 (10:36 +0100)] 
fix old and add new http\Client\Curl\Versions constants

3 years agows
Michael Wallner [Fri, 5 Mar 2021 07:34:05 +0000 (08:34 +0100)] 
ws

3 years agoadd CURLOPT_DNS_SHUFFLE_ADDRESSES
Michael Wallner [Fri, 5 Mar 2021 06:45:47 +0000 (07:45 +0100)] 
add CURLOPT_DNS_SHUFFLE_ADDRESSES

3 years agoadd CURLOPT_HAPROXYPROTOCOL
Michael Wallner [Tue, 2 Mar 2021 09:26:03 +0000 (10:26 +0100)] 
add CURLOPT_HAPROXYPROTOCOL

3 years agoadd CURLOPT_SSLVERSION_MAX constants
Michael Wallner [Mon, 1 Mar 2021 16:52:28 +0000 (17:52 +0100)] 
add CURLOPT_SSLVERSION_MAX constants

3 years agoadd CURLOPT_ABSTRACT_UNIX_SOCKET
Michael Wallner [Mon, 1 Mar 2021 16:40:54 +0000 (17:40 +0100)] 
add CURLOPT_ABSTRACT_UNIX_SOCKET

3 years agoadd CURL_SSLVERSION_TLSv1_3
Michael Wallner [Mon, 1 Mar 2021 16:29:54 +0000 (17:29 +0100)] 
add CURL_SSLVERSION_TLSv1_3

3 years agoadd curl request option tcp_fastopen
Michael Wallner [Mon, 1 Mar 2021 15:38:49 +0000 (16:38 +0100)] 
add curl request option tcp_fastopen

3 years agoadd http version 2_PRIOR_KNOWLEDGE and 3 constants
Michael Wallner [Mon, 1 Mar 2021 15:21:10 +0000 (16:21 +0100)] 
add http version 2_PRIOR_KNOWLEDGE and 3 constants

3 years agoadd curl request option socks5_auth
Michael Wallner [Mon, 1 Mar 2021 15:14:09 +0000 (16:14 +0100)] 
add curl request option socks5_auth

3 years agoadd new curl_info entries
Michael Wallner [Mon, 1 Mar 2021 14:22:52 +0000 (15:22 +0100)] 
add new curl_info entries

3 years agows
Michael Wallner [Mon, 1 Mar 2021 14:19:25 +0000 (15:19 +0100)] 
ws

3 years agorelease v4.0.0 v4.0.0
Michael Wallner [Wed, 13 Jan 2021 15:13:19 +0000 (16:13 +0100)] 
release v4.0.0

* PHP 8 compatibility
- Drop ext-propro support:
PHP 8 removes the object get/set API from the ZendEngine, which renders
that extension dysfunctional. As a consequence, the header property of
http\Message and derived classes cannot be modified in place, and thus
by reference.

Changes from beta1:
* Fixed configure on systems which do not provide icu-config
* Fixed gh-issue #89: Cookie handling cannot be disabled since v3.2.1

3 years agoupdate README
Michael Wallner [Wed, 13 Jan 2021 14:40:13 +0000 (15:40 +0100)] 
update README

3 years agoadd missing test
Michael Wallner [Wed, 13 Jan 2021 14:39:30 +0000 (15:39 +0100)] 
add missing test

3 years agofix submodule ref
Michael Wallner [Wed, 13 Jan 2021 10:11:12 +0000 (11:11 +0100)] 
fix submodule ref

3 years agostrip changelog
Michael Wallner [Wed, 13 Jan 2021 09:46:18 +0000 (10:46 +0100)] 
strip changelog

3 years agofix php_stream_memory_open usage with 8.1+
Michael Wallner [Wed, 13 Jan 2021 09:23:56 +0000 (10:23 +0100)] 
fix php_stream_memory_open usage with 8.1+

3 years agolimit the workaround for #84 to libcurl 7.63-7.64
Michael Wallner [Wed, 13 Jan 2021 08:59:56 +0000 (09:59 +0100)] 
limit the workaround for #84 to libcurl 7.63-7.64

fix #89

3 years agofix usage of hash_init() in 8.1
Michael Wallner [Tue, 12 Jan 2021 19:15:46 +0000 (20:15 +0100)] 
fix usage of hash_init() in 8.1

3 years agoupdate scripts/ci
Michael Wallner [Tue, 12 Jan 2021 19:04:28 +0000 (20:04 +0100)] 
update scripts/ci

3 years agofix build with libicu-dev not providing icu-config
Michael Wallner [Tue, 12 Jan 2021 19:03:54 +0000 (20:03 +0100)] 
fix build with libicu-dev not providing icu-config

3 years agofix package.xml
Michael Wallner [Tue, 12 Jan 2021 18:16:02 +0000 (19:16 +0100)] 
fix package.xml

3 years agogh-actions: ci: fix coverage CFLAGS
Michael Wallner [Tue, 12 Jan 2021 18:12:23 +0000 (19:12 +0100)] 
gh-actions: ci: fix coverage CFLAGS

3 years agogh-actions: ci: install re2c
Michael Wallner [Tue, 12 Jan 2021 18:06:33 +0000 (19:06 +0100)] 
gh-actions: ci: install re2c

3 years agogh-actions: ci: fix script location
Michael Wallner [Tue, 12 Jan 2021 18:02:14 +0000 (19:02 +0100)] 
gh-actions: ci: fix script location

3 years agoupdate pecl-ci
Michael Wallner [Tue, 12 Jan 2021 17:23:53 +0000 (18:23 +0100)] 
update pecl-ci

3 years agogh-actions: ci: quote envvars
Michael Wallner [Tue, 12 Jan 2021 17:04:35 +0000 (18:04 +0100)] 
gh-actions: ci: quote envvars

3 years agogh-actions: ci: fix yml
Michael Wallner [Tue, 12 Jan 2021 16:59:05 +0000 (17:59 +0100)] 
gh-actions: ci: fix yml

3 years agorm gen_travis_yml.php
Michael Wallner [Tue, 12 Jan 2021 16:54:45 +0000 (17:54 +0100)] 
rm gen_travis_yml.php

3 years agogh-actions: ci: we need the pecl-ci submodule
Michael Wallner [Tue, 12 Jan 2021 16:53:19 +0000 (17:53 +0100)] 
gh-actions: ci: we need the pecl-ci submodule

3 years agoupdate changelog
Michael Wallner [Tue, 12 Jan 2021 16:49:29 +0000 (17:49 +0100)] 
update changelog

3 years agogh-actions: workflows/ci
Michael Wallner [Tue, 12 Jan 2021 16:49:25 +0000 (17:49 +0100)] 
gh-actions: workflows/ci

3 years agotravis: org->com [travis skip]
Michael Wallner [Tue, 1 Dec 2020 15:35:29 +0000 (16:35 +0100)] 
travis: org->com [travis skip]

3 years agoUpdate config.w32: drop PHP_HTTP_HAVE_EXT_PROPRO
Jan Ehrhardt [Tue, 1 Dec 2020 15:25:25 +0000 (16:25 +0100)] 
Update config.w32: drop PHP_HTTP_HAVE_EXT_PROPRO

PHP_HTTP_HAVE_EXT_PROPRO is not used anywhere

3 years agorelease 4.0.0
Michael Wallner [Tue, 1 Dec 2020 14:02:44 +0000 (15:02 +0100)] 
release 4.0.0

>*NOTE:*
v4.x will be PHP-8 only, v3.x continues PHP-7 support

* PHP 8 compatibility
- Drop ext-propro support
PHP 8 removes the object get/set API from the ZendEngine, which renders
that extension dysfunctional. As a consequence, the header property of
http\Message and derived classes cannot be modified in place, and thus
by reference.

3 years agotravis
Michael Wallner [Mon, 30 Nov 2020 16:01:45 +0000 (17:01 +0100)] 
travis

4 years agotravis: fix build
Michael Wallner [Mon, 2 Nov 2020 19:36:42 +0000 (20:36 +0100)] 
travis: fix build

4 years agorelease 4.0.0beta1 v4.0.0beta1
Michael Wallner [Wed, 23 Sep 2020 06:26:02 +0000 (08:26 +0200)] 
release 4.0.0beta1

* PHP 8 compatibility
- Drop ext-propro support
PHP 8 removes the object get/set API from the ZendEngine, which renders
that extension dysfunctional. As a consequence, the header property of
http\Message and derived classes cannot be modified in place, and thus
by reference.

4 years agoenable zlib/brotli/curl by default
Michael Wallner [Mon, 21 Sep 2020 12:59:36 +0000 (14:59 +0200)] 
enable zlib/brotli/curl by default

4 years agoremove deleted files
Michael Wallner [Mon, 21 Sep 2020 12:59:13 +0000 (14:59 +0200)] 
remove deleted files

4 years agoPHP 8 compatibility
Michael Wallner [Mon, 21 Sep 2020 12:23:15 +0000 (14:23 +0200)] 
PHP 8 compatibility

4 years agodrop dep on ext-propro (dysfunctional with PHP 8)
Michael Wallner [Mon, 21 Sep 2020 07:42:30 +0000 (09:42 +0200)] 
drop dep on ext-propro (dysfunctional with PHP 8)

4 years agoAdd cryp32.lib to config.w32 dependent libs
Jan Ehrhardt [Wed, 1 Jan 2020 21:28:40 +0000 (22:28 +0100)] 
Add cryp32.lib to config.w32 dependent libs

When linking to a libcurl_a.lib that is compiled with Schannel (--with-winssl) cryp32.lib is needed as dependant lib.
See https://github.com/curl/curl/issues/1147#issuecomment-263408263 for instance.

4 years agomove to PHP-7.4 as current GA
Michael Wallner [Wed, 4 Dec 2019 15:50:31 +0000 (16:50 +0100)] 
move to PHP-7.4 as current GA