Skip to content

Commit f885737

Browse files
authored
Merge pull request #305 from kalessil/master
[minor] SCA: control flow tweaks, micro-optimizations
2 parents 29e48a5 + 6de0a8c commit f885737

4 files changed

Lines changed: 8 additions & 9 deletions

File tree

examples/09-stream-request.php

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,12 @@
1616
$server = new StreamingServer(function (ServerRequestInterface $request) {
1717
return new Promise(function ($resolve, $reject) use ($request) {
1818
$contentLength = 0;
19-
$request->getBody()->on('data', function ($data) use (&$contentLength) {
19+
$requestBody = $request->getBody();
20+
$requestBody->on('data', function ($data) use (&$contentLength) {
2021
$contentLength += strlen($data);
2122
});
2223

23-
$request->getBody()->on('end', function () use ($resolve, &$contentLength){
24+
$requestBody->on('end', function () use ($resolve, &$contentLength){
2425
$response = new Response(
2526
200,
2627
array(
@@ -32,7 +33,7 @@
3233
});
3334

3435
// an error occures e.g. on invalid chunked encoded data or an unexpected 'end' event
35-
$request->getBody()->on('error', function (\Exception $exception) use ($resolve, &$contentLength) {
36+
$requestBody->on('error', function (\Exception $exception) use ($resolve, &$contentLength) {
3637
$response = new Response(
3738
400,
3839
array(

src/Io/ChunkedEncoder.php

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -101,8 +101,7 @@ public function handleEnd()
101101
*/
102102
private function createChunk($data)
103103
{
104-
$byteSize = strlen($data);
105-
$byteSize = dechex($byteSize);
104+
$byteSize = dechex(strlen($data));
106105
$chunkBeginning = $byteSize . "\r\n";
107106

108107
return $chunkBeginning . $data . "\r\n";

src/Io/RequestHeaderParser.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,10 +70,10 @@ private function parseRequest($headers)
7070
// parser does not support asterisk-form and authority-form
7171
// remember original target and temporarily replace and re-apply below
7272
$originalTarget = null;
73-
if (strpos($headers, 'OPTIONS * ') === 0) {
73+
if (strncmp($headers, 'OPTIONS * ', 10) === 0) {
7474
$originalTarget = '*';
7575
$headers = 'OPTIONS / ' . substr($headers, 10);
76-
} elseif (strpos($headers, 'CONNECT ') === 0) {
76+
} elseif (strncmp($headers, 'CONNECT ', 8) === 0) {
7777
$parts = explode(' ', $headers, 3);
7878
$uri = parse_url('tcp://' . $parts[1]);
7979

src/Server.php

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -102,8 +102,7 @@ private function getConcurrentRequestsLimit()
102102
}
103103

104104
$availableMemory = IniUtil::iniSizeToBytes(ini_get('memory_limit')) / 4;
105-
$concurrentRequests = $availableMemory / IniUtil::iniSizeToBytes(ini_get('post_max_size'));
106-
$concurrentRequests = ceil($concurrentRequests);
105+
$concurrentRequests = ceil($availableMemory / IniUtil::iniSizeToBytes(ini_get('post_max_size')));
107106

108107
if ($concurrentRequests >= self::MAXIMUM_CONCURRENT_REQUESTS) {
109108
return self::MAXIMUM_CONCURRENT_REQUESTS;

0 commit comments

Comments
 (0)