From 9c0bfd3e586164e61cf7d6ffaf157090a7f6828d Mon Sep 17 00:00:00 2001 From: yggverse Date: Sun, 28 Apr 2024 17:22:16 +0300 Subject: [PATCH] add bytes returned macos support, update realpath dump, change response condition --- README.md | 3 ++- src/nex.php | 10 ++++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index e94ebe9..c5ebcec 100644 --- a/README.md +++ b/README.md @@ -36,13 +36,14 @@ php src/nex.php host=127.0.0.1 port=1900 path=/target/dir * `list` - show content listing in the requested directory (when index file not found), `yes` by default * `fail` - **filepath** that contain failure text or template (e.g. `error.gmi`), `fail` text by default * `size` - limit request length in bytes, `1024` by default -* `dump` - dump queries or set blank to disable, default: `[{time}] [{code}] {host}:{port} {path} {real}` +* `dump` - dump queries or blank to disable, default: `[{time}] [{code}] {host}:{port} {path} {real} {size} bytes` * `{time}` - event time in `c` format * `{code}` - formal response code: `1` - found, `0` - not found * `{host}` - peer host * `{port}` - peer port * `{path}` - path requested * `{real}` - **realpath** returned + * `{size}` - response size in bytes ### Autostart diff --git a/src/nex.php b/src/nex.php index 0b95ff1..b194024 100644 --- a/src/nex.php +++ b/src/nex.php @@ -167,7 +167,7 @@ if (!defined('NEXT_SIZE')) define('NEXT_SIZE', 1024); if (!defined('NEXT_FAIL')) define('NEXT_FAIL', 'fail'); -if (!defined('NEXT_DUMP')) define('NEXT_DUMP', '[{time}] [{code}] {host}:{port} {path} {real}'); +if (!defined('NEXT_DUMP')) define('NEXT_DUMP', '[{time}] [{code}] {host}:{port} {path} {real} {size} bytes'); // Init server $server = new \Yggverse\Nex\Server( @@ -331,14 +331,16 @@ $server->start( '{port}', '{path}', '{real}', + '{size}' ], [ (string) date('c'), (string) (int) !empty($response), (string) parse_url($url, PHP_URL_HOST), (string) parse_url($url, PHP_URL_PORT), - (string) str_replace('%', '%%', empty($request) ? '/' : $request), - (string) str_replace('%', '%%', $realpath) + (string) str_replace('%', '%%', empty($request) ? '/' : $request), + (string) str_replace('%', '%%', empty($realpath) ? '!' : $realpath), + (string) mb_strlen((string) $response) ], NEXT_DUMP ) . PHP_EOL @@ -346,6 +348,6 @@ $server->start( } // Send response - return is_null($response) ? NEXT_FAIL : $response; + return is_string($response) ? $response : NEXT_FAIL; } ); \ No newline at end of file