Quickies about v6.1

  • One big problem is that version 6.0 was basically written by someone that didn't understand PSR coding standard properly. With PSR4 in the mind, rewriting it to a compliant module has been one of the main goals.
  • netcurl is no longer dependent on present curl libraries. If curl is not there, the library will fall back to its simplest mode with internal PHP-stream (binary safe with file_get_contents).
  • Packages: The library has been split up in smaller parts even if version 6.0 had intentions to "just be one big importable file". Well, that didn't work out well, did it?
  • In netcurl 6.0, most of the data transmitted in the interfaces was running guessing games which may have caused problems in the way that the IO-parser genereated its own error handler to catch XML errors. This is completely removed.
  • Furthermore: Packages. The new error/exception handler is shared by multiple packages, and it's in short called ExceptionHandler. This makes it possible to handle detailed errors on a "necessary level".
  • Errorhandling with SoapClient: There's known problems with SoapClient since 2006, that makes SoapClient unable to spit out errors when credential errors occurs. This happens both in cached wsdl-requests and cached. Version 6.1 handles them both.
  • Configurables. WrapperConfig is a standalone, where you push in your own requirements. All single wrappers can then simply read from it, by using setConfig().
  • NetWrapper, the basic old MODULE_CURL implementation supports registration of own drivers in another way than before.
  • The curlwrapper takes advantage of both "curl_exec" and "multi_curl_exec". By means, if you work with services that only requires curl, you can make several calls within the same session.
  • A new way to find out which driver/class/method that is missing OR disabled is reached within Utils. The security/utils has separate methods to look for disabled and uninstalled variants.
  • Version info is not collected from predefined constants, they are mostly extracted from docblocks.
  • All wrappers can be used directly and separately, while NetWrapper (which is the new primary "MODULE_CURL" class) selects the "best available" driver.
  • All wrappers now requires WrapperInterface to function properly. With this, noone should be able to miss any important functionality (like authentication drivers).
  • Response headers are, at least for curl, extracted without the requirement to let curl expose headers in the response.
  • SoapClientWrapper is using other ways to extract errors, and pushes out more details about this via ExceptionHandler.
  • Some critical self configured errorhandlers has been removed as they may break other implementations (where exceptions are catched in the wrong place).
  • SSL is, in curl, using auto detection built in at curl level instead of letting netcurl have a static default value.