diff --git a/CHANGELOG.md b/CHANGELOG.md index ea3c2b93..5c374663 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ * FIXED: State corruption after "Remove attachment" (#1824) * FIXED: Copy button is hidden if the document is made as markdown (#1703) * FIXED: Shortened URLs from YOURLS received but failed to parse (#1844) +* FIXED: Insert only base path in JSON API responses, without GET parameters ## 2.0.4 (2026-05-03) * ADDED: Translations for Swedish & Persian diff --git a/lib/Configuration.php b/lib/Configuration.php index 725f663c..8f7c1a50 100644 --- a/lib/Configuration.php +++ b/lib/Configuration.php @@ -122,7 +122,7 @@ class Configuration 'js/kjua-0.10.0.js' => 'sha512-BYj4xggowR7QD150VLSTRlzH62YPfhpIM+b/1EUEr7RQpdWAGKulxWnOvjFx1FUlba4m6ihpNYuQab51H6XlYg==', 'js/legacy.js' => 'sha512-RQEo1hxpNc37i+jz/D9/JiAZhG8GFx3+SNxjYnI7jUgirDIqrCSj6QPAAZeaidditcWzsJ3jxfEj5lVm7ZwTRQ==', 'js/prettify.js' => 'sha512-puO0Ogy++IoA2Pb9IjSxV1n4+kQkKXYAEUtVzfZpQepyDPyXk8hokiYDS7ybMogYlyyEIwMLpZqVhCkARQWLMg==', - 'js/privatebin.js' => 'sha512-jjr01MrlrFg2aOLcUf/BouIVTaYNDNIKvfz5pC4lya4rbUxLinRX/h64mt/KLJotk3XXsvS37z0cGLTbor43fQ==', + 'js/privatebin.js' => 'sha512-g58rPgrKnvxBDnT6lzYazdEfgY3XhRh7Yt7i1jkJw4oSvN0k/VPZ4zBSL/dCGfXGIOHqlqmX8DO5UFv2XYqsXg==', 'js/purify-3.4.1.js' => 'sha512-280a/Vb6fVFsYaeRrkuDp4EDmdYlt2XS+dlDEO/U9qljPrAraA2bIzHTNmP+9dpwPDDwTML+RS+h5iaagPwTzA==', 'js/showdown-2.1.0.js' => 'sha512-WYXZgkTR0u/Y9SVIA4nTTOih0kXMEd8RRV6MLFdL6YU8ymhR528NLlYQt1nlJQbYz4EW+ZsS0fx1awhiQJme1Q==', 'js/zlib-1.3.2.js' => 'sha512-RAhJgxg9siMIA8ky4c10Rc2zUgnK80olHB8Tt1IOYWY4Eh1WmrviQkDn+sgBlb38ZHq3tzufGC41kP360gmosQ==', diff --git a/lib/Request.php b/lib/Request.php index 2e386e6f..31233472 100644 --- a/lib/Request.php +++ b/lib/Request.php @@ -220,7 +220,7 @@ class Request } /** - * Get request URI + * Get request URI path without GET parameters * * @access public * @return string @@ -228,7 +228,7 @@ class Request public function getRequestUri() { $uri = array_key_exists('REQUEST_URI', $_SERVER) ? filter_var($_SERVER['REQUEST_URI'], FILTER_SANITIZE_URL) : ''; - return empty($uri) ? '/' : $uri; + return empty($uri) ? '/' : parse_url($uri, PHP_URL_PATH); } /** diff --git a/tst/RequestTest.php b/tst/RequestTest.php index 41794d5c..d7e4d9ac 100644 --- a/tst/RequestTest.php +++ b/tst/RequestTest.php @@ -218,6 +218,7 @@ class RequestTest extends TestCase { $this->reset(); $id = Helper::getRandomId(); + $path = '/' . $this->getRandomQueryChars() . '/'; $queryParams = array($id); $queryParamCount = random_int(1, 5); for ($i = 0; $i < $queryParamCount; ++$i) { @@ -226,8 +227,10 @@ class RequestTest extends TestCase shuffle($queryParams); $_SERVER['REQUEST_METHOD'] = 'GET'; $_SERVER['QUERY_STRING'] = implode('&', $queryParams); + $_SERVER['REQUEST_URI'] = $path . '?' . $_SERVER['QUERY_STRING']; $_GET[$id] = ''; $request = new Request; $this->assertEquals($id, $request->getParam('pasteid')); + $this->assertEquals($path, $request->getRequestUri()); } }