$request =
$request->
withoutHeader('Expect'
);
// Append a content-length header if body size is zero to match
// cURL's behavior.
if (0 ===
$request->
getBody()->
getSize()) { $request =
$request->
withHeader('Content-Length', '0'
);
} return $this->
createResponse( $request,
$options,
$this->
createStream($request,
$options),
$startTime );
} catch (\InvalidArgumentException
$e) { throw $e;
} catch (\Exception
$e) { // Determine if the error was a networking error.
$message =
$e->
getMessage();
// This list can probably get more comprehensive.
if (false !== \
strpos($message, 'getaddrinfo'
) // DNS lookup failed
|| false !== \
strpos($message, 'Connection refused'
) || false !== \
strpos($message, "couldn't connect to host"
) // error on HHVM