We’ve been holding on netcurl 6.1.5 for a while now, since the package has been a bit too small to be considered release worthy. However, the last days changed this and two bigger features has now been fixed: SoapClient timeouts and the ability to disable SSL certificate verification (which has been planned for long now).
SSL Verification becomes configurable
The verification issues is added as part to the fact that requests to self signed sites sometimes is necessary and normally netcurl security is set to never allow self signed or invalid SSL certificates. This release also contains a fix that makes the streamwrapper handle errors better, since we need to be able to catch SSL request exceptions.
The SoapClient timeout handler has just recently become a problem. When a site is timing out during connection or the response, the SoapWrapper (and actuallty SoapClient itself) have never been able to figure out if exceptions thrown are thrown because of site errors or timeouts – except for through the error message.
With the new fix, a different exception will be produced under very specific circumstances: If the SoapClient throws an exception, based on error code 2 (E_WARNING), and the initial request time has exceeded the timeout configuration (from WrapperConfig) the exception is considered timeout instead of code 2. In such cases, the exception will be rethrown with code 1015 instead – but keep the error message produced by during the soap request.
const LIB_NETCURL_SOAP_TIMEOUT = 1015;
A major update for DOM Documents
DOMDocuments has always been of interest for netcurl, especially since we use those features to fetch data for RSS feeds. The most recent fixes to handle DOM data with netcurl will now become available. However, there may be a continued integration with Laminas here to furthermore make requests more stable.
Below, you can see what’s been updated.
Release Notes - PHP_NETCURL - Version 6.1.5
- [NETCURL-338] – Docblock classes are not properly defined
- [NETCURL-330] – Allow manipulation of SSL Verification settings
- [NETCURL-335] – PHP 8.1 Tests
- [NETCURL-339] – Use xpath to fetch rendered elements
- [NETCURL-340] – xpath automation of the otherwise manual handling
- [NETCURL-341] – Separate DOMHandler from GenericParser
- [NETCURL-343] – Try to verify soap timeouts.
- [NETCURL-345] – Remove SSL verification configuration for older PHP