From 5ee93fd49a6dc75caa82cbcddb0d2b8883f62d4c Mon Sep 17 00:00:00 2001 From: joanhey Date: Sun, 19 Apr 2026 21:50:38 +0200 Subject: [PATCH 1/2] Mark add json-comp --- frameworks/mark/handlers.php | 16 ++++++++++++++-- frameworks/mark/meta.json | 1 + 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/frameworks/mark/handlers.php b/frameworks/mark/handlers.php index a8ff4392b..959b3f92b 100644 --- a/frameworks/mark/handlers.php +++ b/frameworks/mark/handlers.php @@ -36,10 +36,22 @@ function json($request, $count) $total[] = $item; } + $result = json_encode(['items' => $total, 'count' => $count], JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES); + $header = []; + if($encoding = $request->header('accept-encoding', '')) { + if(str_contains($encoding, 'br')) { + $result = brotli_compress($result, 1); + $header = ['Content-Encoding' => 'br']; + } elseif (str_contains($encoding, 'gzip')) { + $result = gzencode($result, 1); + $header = ['Content-Encoding' => 'br']; + } + } + return new Response ( 200, - ['Content-Type' => 'application/json'], - json_encode(['items' => $total, 'count' => $count], JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) + ['Content-Type' => 'application/json'] + $header, + $result ); } diff --git a/frameworks/mark/meta.json b/frameworks/mark/meta.json index d62f585e5..bfcfe69f8 100644 --- a/frameworks/mark/meta.json +++ b/frameworks/mark/meta.json @@ -11,6 +11,7 @@ "pipelined", "limited-conn", "json", + "json-comp", "noisy", "static", "api-4", From 7bda3f9597671292937735527e1a1dcc97ee0c30 Mon Sep 17 00:00:00 2001 From: joanhey Date: Sun, 19 Apr 2026 21:51:51 +0200 Subject: [PATCH 2/2] Change dockerfile --- frameworks/mark/Dockerfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/frameworks/mark/Dockerfile b/frameworks/mark/Dockerfile index dd1ad6ebd..80f305bea 100644 --- a/frameworks/mark/Dockerfile +++ b/frameworks/mark/Dockerfile @@ -11,7 +11,8 @@ RUN apt-get install -yqq php8.5-cli php8.5-xml php8.5-zip php8.5-pgsql >/dev/nul COPY --from=composer/composer:latest-bin --link /composer /usr/local/bin/composer RUN apt-get install -y php-pear php8.5-dev libevent-dev git >/dev/null && \ - pecl install event-3.1.4 > /dev/null && echo "extension=event.so" > /etc/php/8.5/cli/conf.d/30-event.ini + pecl install event-3.1.4 >/dev/null && echo "extension=event.so" > /etc/php/8.5/cli/conf.d/30-event.ini && \ + pecl install brotli >/dev/null && echo "extension=brotli.so" > /etc/php/8.5/cli/conf.d/30-brotli.ini WORKDIR /mark COPY composer.json .