Skip to content

Commit e567a39

Browse files
committed
优化代码
1 parent 4e34bf3 commit e567a39

5 files changed

Lines changed: 25 additions & 58 deletions

File tree

‎src/HttpRequest.php‎

Lines changed: 7 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -226,20 +226,6 @@ class HttpRequest
226226
*/
227227
public $websocketCompression = false;
228228

229-
/**
230-
* 代理认证方式.
231-
*
232-
* @var array
233-
*/
234-
public static $proxyAuths = [];
235-
236-
/**
237-
* 代理类型.
238-
*
239-
* @var array
240-
*/
241-
public static $proxyType = [];
242-
243229
/**
244230
* 自动扩展名标志.
245231
*/
@@ -912,6 +898,7 @@ protected function parseRequestBody($requestBody, $contentType)
912898
}
913899
}
914900
$body = http_build_query($body, '', '&');
901+
break;
915902
}
916903
}
917904
else
@@ -943,9 +930,8 @@ public function buildRequest($url = null, $requestBody = null, $method = null, $
943930
$method = $this->method;
944931
}
945932
list($body, $files) = $this->parseRequestBody(null === $requestBody ? $this->content : $requestBody, $contentType);
946-
$request = new Request($url, $this->headers, $body, $method);
947933
$saveFileOption = $this->saveFileOption;
948-
$request = $request->withUploadedFiles($files)
934+
$request = (new Request($url, $this->headers, $body, $method))->withUploadedFiles($files)
949935
->withCookieParams($this->cookies)
950936
->withAttribute(Attributes::MAX_REDIRECTS, $this->maxRedirects)
951937
->withAttribute(Attributes::IS_VERIFY_CA, $this->isVerifyCA)
@@ -1127,7 +1113,7 @@ public function download($fileName, $url = null, $requestBody = null, $method =
11271113
$result = $this->saveFile($fileName)->send($url, $requestBody, $method);
11281114
if ($isAutoExt)
11291115
{
1130-
self::parseDownloadAutoExt($result, $fileName);
1116+
$result = self::parseDownloadAutoExt($result, $fileName);
11311117
}
11321118
$this->saveFileOption = [];
11331119

@@ -1174,9 +1160,9 @@ public static function checkDownloadIsAutoExt($fileName, &$tempFileName)
11741160
* @param \Yurun\Util\YurunHttp\Http\Response $response
11751161
* @param string $tempFileName
11761162
*
1177-
* @return void
1163+
* @return \Yurun\Util\YurunHttp\Http\Response
11781164
*/
1179-
public static function parseDownloadAutoExt(&$response, $tempFileName)
1165+
public static function parseDownloadAutoExt($response, $tempFileName)
11801166
{
11811167
$ext = MediaType::getExt($response->getHeaderLine('Content-Type'));
11821168
if (null === $ext)
@@ -1185,23 +1171,7 @@ public static function parseDownloadAutoExt(&$response, $tempFileName)
11851171
}
11861172
$savedFileName = substr($tempFileName, 0, -\strlen(self::AUTO_EXT_TEMP_EXT)) . '.' . $ext;
11871173
rename($tempFileName, $savedFileName);
1188-
$response = $response->withSavedFileName($savedFileName);
1189-
}
1190-
}
11911174

1192-
if (\extension_loaded('curl'))
1193-
{
1194-
// 代理认证方式
1195-
HttpRequest::$proxyAuths = [
1196-
'basic' => \CURLAUTH_BASIC,
1197-
'ntlm' => \CURLAUTH_NTLM,
1198-
];
1199-
1200-
// 代理类型
1201-
HttpRequest::$proxyType = [
1202-
'http' => \CURLPROXY_HTTP,
1203-
'socks4' => \CURLPROXY_SOCKS4,
1204-
'socks4a' => 6, // CURLPROXY_SOCKS4A
1205-
'socks5' => \CURLPROXY_SOCKS5,
1206-
];
1175+
return $response->withSavedFileName($savedFileName);
1176+
}
12071177
}

‎src/YurunHttp/Co/Batch.php‎

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -53,17 +53,8 @@ public static function run($requests, $timeout = null, $handlerClass = null, $op
5353
{
5454
if (isset($result[$i]))
5555
{
56-
$response = &$result[$i];
56+
HttpRequest::parseDownloadAutoExt($result[$i], $result[$i]->getRequest()->getAttribute(Attributes::SAVE_FILE_PATH));
5757
}
58-
else
59-
{
60-
$response = null;
61-
}
62-
if ($response)
63-
{
64-
HttpRequest::parseDownloadAutoExt($response, $response->getRequest()->getAttribute(Attributes::SAVE_FILE_PATH));
65-
}
66-
unset($response);
6758
}
6859

6960
return $result;

‎src/YurunHttp/Handler/Curl.php‎

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ public function close()
119119
{
120120
CurlHttpConnectionManager::getInstance()->release($this->poolKey, $this->handler);
121121
}
122-
else
122+
elseif (\PHP_VERSION_ID < 80000)
123123
{
124124
curl_close($this->handler);
125125
}
@@ -203,7 +203,6 @@ public function send(&$request)
203203
$bodyContent = false;
204204
}
205205
$this->buildCurlHandlerEx($request, $handler, $uri, $method, $bodyContent);
206-
$result = null;
207206
for ($i = 0; $i <= $retry; ++$i)
208207
{
209208
$receiveHeaders = [];
@@ -227,7 +226,7 @@ public function send(&$request)
227226
}
228227
}
229228
}
230-
if ($request->getAttribute(Attributes::FOLLOW_LOCATION, true) && ($statusCode >= 300 && $statusCode < 400) && $result && '' !== ($location = $result->getHeaderLine('location')))
229+
if ($request->getAttribute(Attributes::FOLLOW_LOCATION, true) && ($statusCode >= 300 && $statusCode < 400) && isset($result) && '' !== ($location = $result->getHeaderLine('location')))
231230
{
232231
$maxRedirects = $request->getAttribute(Attributes::MAX_REDIRECTS, 10);
233232
if (++$redirectCount <= $maxRedirects)
@@ -366,6 +365,7 @@ private function buildCurlHandlerEx(&$request, $handler, $uri = null, $method =
366365
break;
367366
default:
368367
$httpVersion = \CURL_HTTP_VERSION_1_1;
368+
break;
369369
}
370370
$requestOptions = [
371371
\CURLOPT_URL => (string) $uri,
@@ -817,7 +817,10 @@ public function coBatch($requests, $timeout = null)
817817
foreach ($curlHandlers as $curlHandler)
818818
{
819819
curl_multi_remove_handle($mh, $curlHandler);
820-
curl_close($curlHandler);
820+
if (\PHP_VERSION_ID < 80000)
821+
{
822+
curl_close($curlHandler);
823+
}
821824
}
822825
curl_multi_close($mh);
823826
}

‎src/YurunHttp/Handler/Curl/CurlConnectionPool.php‎

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,12 @@ public function close()
3939
$connections = $this->connections;
4040
$this->connections = [];
4141
$this->queue = new \SplQueue();
42-
foreach ($connections as $connection)
42+
if (\PHP_VERSION_ID < 80000)
4343
{
44-
curl_close($connection);
44+
foreach ($connections as $connection)
45+
{
46+
curl_close($connection);
47+
}
4548
}
4649
}
4750

‎src/YurunHttp/Handler/Swoole.php‎

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -803,16 +803,16 @@ public function coBatch($requests, $timeout = null)
803803
$handlers = [];
804804
$results = [];
805805
$beginTime = microtime(true);
806-
foreach ($requests as $i => &$request)
806+
foreach ($requests as $i => &$request1)
807807
{
808808
$results[$i] = null;
809809
$handlers[$i] = $handler = new self();
810-
$request = $handler->sendDefer($request);
810+
$request1 = $handler->sendDefer($request1);
811811
}
812-
unset($request);
812+
unset($request1);
813813
$beginTime = microtime(true);
814814
$recvTimeout = null;
815-
foreach ($requests as $i => $request)
815+
foreach ($requests as $i => $request2)
816816
{
817817
if (null !== $timeout)
818818
{
@@ -822,7 +822,7 @@ public function coBatch($requests, $timeout = null)
822822
break;
823823
}
824824
}
825-
$results[$i] = $handlers[$i]->recvDefer($request, $recvTimeout)->withTotalTime(microtime(true) - $beginTime);
825+
$results[$i] = $handlers[$i]->recvDefer($request2, $recvTimeout)->withTotalTime(microtime(true) - $beginTime);
826826
}
827827

828828
return $results;

0 commit comments

Comments
 (0)