diff --git a/app/controllers/web/console.php b/app/controllers/web/console.php index a4c76a9a35..c02e140270 100644 --- a/app/controllers/web/console.php +++ b/app/controllers/web/console.php @@ -32,8 +32,9 @@ App::get('/') ->action(function (Request $request, Response $response) { $url = parse_url($request->getURI()); $target = "/console{$url['path']}"; - if ($url['query'] ?? false) { - $target .= "?{$url['query']}"; + $params = $request->getParams(); + if (!empty($params)) { + $target .= "?" . \http_build_query($params); } if ($url['fragment'] ?? false) { $target .= "#{$url['fragment']}"; diff --git a/tests/e2e/General/HTTPTest.php b/tests/e2e/General/HTTPTest.php index b6dd3543c6..0881966365 100644 --- a/tests/e2e/General/HTTPTest.php +++ b/tests/e2e/General/HTTPTest.php @@ -216,4 +216,17 @@ class HTTPTest extends Scope $this->assertEquals('http://localhost', $response['headers']['access-control-allow-origin']); } + + public function testConsoleRedirect() + { + /** + * Test for SUCCESS + */ + + $endpoint = '/invite?membershipId=123&userId=asdf'; + + $response = $this->client->call(Client::METHOD_GET, $endpoint); + + $this->assertEquals('/console' . $endpoint, $response['headers']['location']); + } }