getHandlerList(); if (extension_loaded('curl')) { $list->appendInit($this->getDefaultCurlOptionsMiddleware()); } } /** * Provides a middleware that sets default Curl options for the command * * @return callable */ public function getDefaultCurlOptionsMiddleware() { return Middleware::mapCommand(function (CommandInterface $cmd) { $defaultCurlOptions = [ CURLOPT_TCP_KEEPALIVE => 1, ]; if (!isset($cmd['@http']['curl'])) { $cmd['@http']['curl'] = $defaultCurlOptions; } else { $cmd['@http']['curl'] += $defaultCurlOptions; } return $cmd; }); } }