mirror of
https://github.com/php-curl-class/php-curl-class.git
synced 2026-10-08 21:15:25 +00:00
Increase psalm strictness (#925)
* Fix PossiblyUndefinedArrayOffset ERROR: PossiblyUndefinedArrayOffset - ../src/Curl/Curl.php:1890:28 - Possibly undefined array key (see https://psalm.dev/167) list($key, $value) = explode(':', $raw_headers[$i], 2); * Fix PossiblyUndefinedArrayOffset ERROR: PossiblyUndefinedArrayOffset - ../src/Curl/Curl.php:1034:28 - Possibly undefined array key (see https://psalm.dev/167) list($key, $value) = explode(':', $header, 2); * Fix PossiblyUndefinedArrayOffset ERROR: PossiblyUndefinedArrayOffset - ../src/Curl/MultiCurl.php:465:28 - Possibly undefined array key (see https://psalm.dev/167) list($key, $value) = explode(':', $header, 2); * Fix PossiblyInvalidOperand ERROR: PossiblyInvalidOperand - ../src/Curl/Curl.php:1407:69 - Cannot concatenate with a int<0, max>|string (see https://psalm.dev/163) echo 'Response content length (calculated): ' . $response_calculated_length . "\n"; * Fix PossiblyInvalidArgument ERROR: PossiblyInvalidArgument - ../src/Curl/BaseCurl.php:408:34 - Argument 2 of define expects array<array-key, mixed>|null|scalar, but possibly different type false|resource provided (see https://psalm.dev/092) define('STDERR', fopen('php://stderr', 'wb')); * Fix ArgumentTypeCoercion ERROR: ArgumentTypeCoercion - ../src/Curl/MultiCurl.php:956:16 - Argument 1 of usleep expects int<0, max>, but parent type int provided (see https://psalm.dev/193) usleep((int) $sleep_seconds * 1000000); * Fix PossiblyFalseArgument ERROR: PossiblyFalseArgument - ../src/Curl/MultiCurl.php:131:50 - Argument 2 of file_put_contents cannot be false, possibly array<array-key, string>|resource|string value expected (see https://psalm.dev/104) file_put_contents($filename, stream_get_contents($fh)); * Fix PossiblyFalseArgument ERROR: PossiblyFalseArgument - ../src/Curl/Curl.php:437:49 - Argument 2 of stream_copy_to_stream cannot be false, possibly resource value expected (see https://psalm.dev/104) stream_copy_to_stream($tmpfile, $fh); ERROR: PossiblyFalseArgument - ../src/Curl/Curl.php:438:24 - Argument 1 of fclose cannot be false, possibly resource value expected (see https://psalm.dev/104) fclose($fh); * Fix PossiblyFalseArgument ERROR: PossiblyFalseArgument - ../src/Curl/Curl.php:463:49 - Argument 2 of stream_copy_to_stream cannot be false, possibly resource value expected (see https://psalm.dev/104) stream_copy_to_stream($file_handle, $main_file_handle); ERROR: PossiblyFalseArgument - ../src/Curl/Curl.php:468:16 - Argument 1 of fclose cannot be false, possibly resource value expected (see https://psalm.dev/104) fclose($main_file_handle); * Fix PossiblyFalseArgument ERROR: PossiblyFalseArgument - ../src/Curl/Curl.php:1891:36 - Argument 1 of count cannot be false, possibly Countable|array<array-key, mixed> value expected (see https://psalm.dev/104) $raw_headers_count = count($raw_headers); ERROR: PossiblyInvalidArrayAccess - ../src/Curl/Curl.php:1893:24 - Cannot access array value on non-array variable $raw_headers of type false (see https://psalm.dev/109) if (strpos($raw_headers[$i], ':') !== false) { * Fix PossiblyInvalidArgument ERROR: PossiblyInvalidArgument - ../src/Curl/Curl.php:1868:30 - Argument 2 of define expects array<array-key, mixed>|null|scalar, but possibly different type false|resource provided (see https://psalm.dev/092) define('STDOUT', fopen('php://stdout', 'w')); * Update psalm baseline
This commit is contained in:
+12
-3
@@ -127,7 +127,10 @@ class MultiCurl extends BaseCurl
|
||||
} else {
|
||||
$curl->fileHandle = fopen('php://temp', 'wb');
|
||||
$curl->downloadCompleteCallback = function ($instance, $fh) use ($filename) {
|
||||
file_put_contents($filename, stream_get_contents($fh));
|
||||
$contents = stream_get_contents($fh);
|
||||
if ($contents !== false) {
|
||||
file_put_contents($filename, $contents);
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -462,7 +465,7 @@ class MultiCurl extends BaseCurl
|
||||
}
|
||||
} else {
|
||||
foreach ($headers as $header) {
|
||||
list($key, $value) = explode(':', $header, 2);
|
||||
list($key, $value) = array_pad(explode(':', $header, 2), 2, '');
|
||||
$key = trim($key);
|
||||
$value = trim($value);
|
||||
$this->headers[$key] = $value;
|
||||
@@ -946,7 +949,13 @@ class MultiCurl extends BaseCurl
|
||||
$sleep_seconds = $sleep_until - microtime(true);
|
||||
|
||||
// Avoid using time_sleep_until() as it appears to be less precise and not sleep long enough.
|
||||
usleep((int) $sleep_seconds * 1000000);
|
||||
// Avoid using usleep(): "Values larger than 1000000 (i.e. sleeping for
|
||||
// more than a second) may not be supported by the operating system.
|
||||
// Use sleep() instead."
|
||||
$sleep_seconds_int = (int)$sleep_seconds;
|
||||
if ($sleep_seconds_int >= 1) {
|
||||
sleep($sleep_seconds_int);
|
||||
}
|
||||
|
||||
// Ensure that enough time has passed as usleep() may not have waited long enough.
|
||||
$this->currentStartTime = microtime(true);
|
||||
|
||||
Reference in New Issue
Block a user