Bladeren bron

Fixed grammar issues and added default $decorator parameter for Worker::log function.

Ako Tulu 2 jaren geleden
bovenliggende
commit
8d807ce594
3 gewijzigde bestanden met toevoegingen van 33 en 26 verwijderingen
  1. 2 2
      src/Protocols/Http/Request.php
  2. 7 5
      src/Protocols/Websocket.php
  3. 24 19
      src/Worker.php

+ 2 - 2
src/Protocols/Http/Request.php

@@ -509,8 +509,8 @@ class Request
         $postEncodeString = '';
         $filesEncodeString = '';
         $files = [];
-        $bodayPosition = strpos($buffer, "\r\n\r\n") + 4;
-        $offset = $bodayPosition + strlen($httpPostBoundary) + 2;
+        $bodyPosition = strpos($buffer, "\r\n\r\n") + 4;
+        $offset = $bodyPosition + strlen($httpPostBoundary) + 2;
         $maxCount = static::$maxFileUploads;
         while ($maxCount-- > 0 && $offset) {
             $offset = $this->parseUploadFile($httpPostBoundary, $offset, $postEncodeString, $filesEncodeString, $files);

+ 7 - 5
src/Protocols/Websocket.php

@@ -344,14 +344,15 @@ class Websocket
             if (preg_match("/Sec-WebSocket-Key: *(.*?)\r\n/i", $buffer, $match)) {
                 $SecWebSocketKey = $match[1];
             } else {
-                $connection->close("HTTP/1.1 200 WebSocket\r\nServer: workerman/" . Worker::VERSION . "\r\n\r\n<div style=\"text-align:center\"><h1>WebSocket</h1><hr>workerman/" . Worker::VERSION . "</div>",
-                    true);
+                $connection->close(
+					'HTTP/1.1 200 OK\r\nServer: '. Worker::$processTitle . ' ('. Worker::VERSION . ')'
+					. '\r\n\r\n<div style="text-align:center"><h1>WebSocket</h1><hr>'. Worker::$processTitle . '/' . Worker::VERSION . '</div>', true);
                 return 0;
             }
             // Calculation websocket key.
             $newKey = base64_encode(sha1($SecWebSocketKey . "258EAFA5-E914-47DA-95CA-C5AB0DC85B11", true));
             // Handshake response data.
-            $handshakeMessage = "HTTP/1.1 101 Switching Protocols\r\n"
+            $handshakeMessage = "HTTP/1.1 101 Switching Protocol\r\n"
                 . "Upgrade: websocket\r\n"
                 . "Sec-WebSocket-Version: 13\r\n"
                 . "Connection: Upgrade\r\n"
@@ -411,8 +412,9 @@ class Websocket
             return 0;
         }
         // Bad websocket handshake request.
-        $connection->close("HTTP/1.1 200 WebSocket\r\nServer: workerman/" . Worker::VERSION . "\r\n\r\n<div style=\"text-align:center\"><h1>WebSocket</h1><hr>workerman/" . Worker::VERSION . "</div>",
-            true);
+        $connection->close(
+			'HTTP/1.1 200 OK\r\nServer: ' . Worker::$processTitle . ' ('. Worker::VERSION . ')'
+			. '\r\n\r\n<div style="text-align:center"><h1>WebSocket</h1><hr>'. Worker::$processTitle . '/' . Worker::VERSION . '</div>', true);
         return 0;
     }
 

+ 24 - 19
src/Worker.php

@@ -136,7 +136,7 @@ class Worker
     public bool $reusePort = false;
 
     /**
-     * Emitted when worker processes start.
+     * Emitted when worker processes is starting.
      *
      * @var ?callable
      */
@@ -150,7 +150,7 @@ class Worker
     public $onConnect = null;
 
     /**
-     * Emitted when websocket handshake completed (Only work when protocol is ws).
+     * Emitted when websocket handshake did complete (Only called when protocol is ws).
      *
      * @var ?callable
      */
@@ -192,14 +192,14 @@ class Worker
     public $onBufferDrain = null;
 
     /**
-     * Emitted when worker processes stopped.
+     * Emitted when worker processes has stopped.
      *
      * @var ?callable
      */
     public $onWorkerStop = null;
 
     /**
-     * Emitted when worker processes get reload signal.
+     * Emitted when worker processes receives reload signal.
      *
      * @var ?callable
      */
@@ -215,7 +215,7 @@ class Worker
     /**
      * Store all connections of clients.
      *
-     * @var array
+     * @var TcpConnection[]
      */
     public array $connections = [];
 
@@ -542,7 +542,7 @@ class Worker
      * If $outputStream support decorated
      * @var bool
      */
-    protected static ?bool $outputDecorated = null;
+    protected static bool $outputDecorated = false;
 
     /**
      * Worker object's hash id(unique identifier).
@@ -647,8 +647,9 @@ class Worker
      */
     protected static function lock(int $flag = LOCK_EX): void
     {
+		global $argv;
         static $fd;
-        if (DIRECTORY_SEPARATOR !== '/') {
+        if (DIRECTORY_SEPARATOR !== '/' | empty($argv)) {
             return;
         }
         $lockFile = static::$pidFile . '.lock';
@@ -882,10 +883,12 @@ class Worker
      */
     protected static function parseCommand(): void
     {
-        if (DIRECTORY_SEPARATOR !== '/') {
+		global $argv;
+
+        if (DIRECTORY_SEPARATOR !== '/' || empty($argv)) {
             return;
         }
-        global $argv;
+
         // Check argv;
         $startFile = $argv[0];
         $usage = "Usage: php yourfile <command> [mode]\nCommands: \nstart\t\tStart worker in DEBUG mode.\n\t\tUse mode -d to start in DAEMON mode.\nstop\t\tStop worker.\n\t\tUse mode -g to stop gracefully.\nrestart\t\tRestart workers.\n\t\tUse mode -d to start in DAEMON mode.\n\t\tUse mode -g to stop gracefully.\nreload\t\tReload codes.\n\t\tUse mode -g to reload gracefully.\nstatus\t\tGet worker status.\n\t\tUse mode -d to show live status.\nconnections\tGet worker connections.\n";
@@ -1294,7 +1297,8 @@ class Worker
      */
     protected static function saveMasterPid(): void
     {
-        if (DIRECTORY_SEPARATOR !== '/') {
+		global $argv;
+        if (DIRECTORY_SEPARATOR !== '/' || empty($argv)) {
             return;
         }
 
@@ -2153,17 +2157,18 @@ class Worker
         return self::ERROR_TYPE[$type] ?? '';
     }
 
-    /**
-     * Log.
-     *
-     * @param mixed $msg
-     * @return void
-     */
-    public static function log(mixed $msg): void
+	/**
+	 * Log.
+	 *
+	 * @param mixed $msg
+	 * @param bool $decorated
+	 * @return void
+	 */
+    public static function log(mixed $msg,bool $decorated = false): void
     {
         $msg = $msg . "\n";
         if (!static::$daemonize) {
-            static::safeEcho($msg);
+            static::safeEcho($msg, $decorated);
         }
         file_put_contents(static::$logFile, date('Y-m-d H:i:s') . ' ' . 'pid:'
             . (DIRECTORY_SEPARATOR === '/' ? posix_getpid() : 1) . ' ' . $msg, FILE_APPEND | LOCK_EX);
@@ -2181,7 +2186,7 @@ class Worker
         if (!$stream) {
             return false;
         }
-        if (!$decorated) {
+        if ($decorated) {
             $line = $white = $green = $end = '';
             if (static::$outputDecorated) {
                 $line = "\033[1A\n\033[K";