Page tree
Skip to end of metadata
Go to start of metadata

In netcurl 6.0 all of the data communication was basically running through MODULE_CURL and then passed through to a proper driver. To configure anything, this meant you have to run all setups through that module. As 6.1 is converted to fit PSR4-requirements each module is practically independent. There are external components however, that can (and is) injectable in the modules, depending on how they are written. It will be possible to write own drivers, that takes advantage of the same modules.

The drivers should initially not require any preconfiguration like for other modules where you have to write your comm drivers from scratch. This is the thing with netcurl, that tries to pick any available driver from the system, parse requested data and give it back as formatted as possible.

Preconfigured modules

There are a few modules that you'd want to be aware of. Here's a list of them and how to use them.

TorneLIB\Module\Config\WrapperDriver

This driver can be instantiated but should normally not do this. This part of netcurls keeps track of available communication drivers in the system, and is also used for third parties in case they really need to register their own wrapper. Registrations always goes this way and is basically what NetWrapper (the real replacement for MODULE_CURL) uses to select what to use when calling for it.

TorneLIB\Module\Config\WrapperConfig

The major configuration module. Almost every feature and defaults that is used within (at least) the curl extension are configured here. WrapperConfig is very much the heart of the module as much configurations are processed through this class. Both streamoptions, curloptions and user-agent setups.

TorneLIB\Module\Config\WrapperSSL

SSL is a quite big part of the communication drivers, so the SSL configurator has been separated from the standard WrapperConfig. This is however not very used by the curlwrapper. It rather aims at the stream based communications like the built in fetchers from PHP, and SoapClient.

TorneLIB\Module\Config\WrapperCurlOpt

Failover constans in case curl libraries and addons are not installed. Instead of netcurl screaming out warnings of missing constants.

TorneLIB\Module\Config\WrapperSSL

Currently not in use (as in empty).

TorneLIB\Module\Config\GenericParser

6.1.0 is, when this is written, not yet released. The class may be a bit misplaced for the moment.

The Generic Parser is used for parsing data in the wrappers that seems to be commonly used by more than one wrapper. For example, header extractions is being made here (when you for example need to get information about the http-head response). It also takes care of content-type based parsing from the body, or whatever needs to be properly parsed. 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.


  • No labels